From c926c9545722801e3e10f2a51f60ea222b1a4a20 Mon Sep 17 00:00:00 2001 From: Leandro Lucarella Date: Fri, 20 May 2011 22:57:30 -0300 Subject: [PATCH] Agregar charla de SCM para el GlugCEN --- charla_scm_exactas/.gitignore | 2 + charla_scm_exactas/Makefile | 54 + charla_scm_exactas/archivo-diff.txt | 16 + charla_scm_exactas/archivo1.txt | 15 + charla_scm_exactas/archivo2.txt | 15 + charla_scm_exactas/diff.eps | 1221 +++++++++++++++++++++++ charla_scm_exactas/diff.pdf | Bin 0 -> 24793 bytes charla_scm_exactas/diff.svg | 381 ++++++++ charla_scm_exactas/merge.eps | 1406 +++++++++++++++++++++++++++ charla_scm_exactas/merge.pdf | Bin 0 -> 24540 bytes charla_scm_exactas/merge.svg | 522 ++++++++++ charla_scm_exactas/presentacion.rst | 185 ++++ charla_scm_exactas/rst2beamer.py | 1323 +++++++++++++++++++++++++ 13 files changed, 5140 insertions(+) create mode 100644 charla_scm_exactas/.gitignore create mode 100644 charla_scm_exactas/Makefile create mode 100644 charla_scm_exactas/archivo-diff.txt create mode 100644 charla_scm_exactas/archivo1.txt create mode 100644 charla_scm_exactas/archivo2.txt create mode 100644 charla_scm_exactas/diff.eps create mode 100644 charla_scm_exactas/diff.pdf create mode 100644 charla_scm_exactas/diff.svg create mode 100644 charla_scm_exactas/merge.eps create mode 100644 charla_scm_exactas/merge.pdf create mode 100644 charla_scm_exactas/merge.svg create mode 100644 charla_scm_exactas/presentacion.rst create mode 100644 charla_scm_exactas/rst2beamer.py diff --git a/charla_scm_exactas/.gitignore b/charla_scm_exactas/.gitignore new file mode 100644 index 0000000..f7eae00 --- /dev/null +++ b/charla_scm_exactas/.gitignore @@ -0,0 +1,2 @@ +.tmp/* +presentacion.pdf diff --git a/charla_scm_exactas/Makefile b/charla_scm_exactas/Makefile new file mode 100644 index 0000000..75f1f33 --- /dev/null +++ b/charla_scm_exactas/Makefile @@ -0,0 +1,54 @@ + +O := .tmp + +R2B := rst2beamer.py +PYTHON := python +R2BTHEME := Madrid +R2BFLAGS := --halt=2 --lang es --codeblocks-use-pygments \ + --input-encoding=utf-8 --output-encoding=utf-8 \ + --overlaybullets= \ + --theme $(R2BTHEME) +R2BFILTER := sed '/\\usepackage\[scaled=\.90\]{helvet}/d; \ + s/\\usepackage\[utf8\]{inputenc}/\\usepackage[utf8x]{inputenc}/; \ + s/\\institute{\(.*\)}/\\institute[LUGFI]{\1}/m' + +PDFLATEX := pdflatex +PDFLATEXFLAGS := -halt-on-error -file-line-error + +# Verbosity flag (empty show nice messages, non-empty use make messages) +# When used internal, $V expand to @ is nice messages should be printed, this +# way it's easy to add $V in front of commands that should be silenced when +# displaying the nice messages. +override V := $(if $V,,@) +# honour make -s flag +override V := $(if $(findstring s,$(MAKEFLAGS)),,$V) + +targets := presentacion.pdf + +.PHONY: all +all: $(targets) + +presentacion.pdf: $O/diff.pdf $O/merge.pdf + +%.pdf: $O/%.tex + $(if $V,@echo "$(PDFLATEX) $< > $@") + $V cd $O && $(PDFLATEX) $(PDFLATEXFLAGS) $( $@.log) + $V cd $O && $(PDFLATEX) $(PDFLATEXFLAGS) $(> $@.log) + $V mv $O/$@ $@ + +$O/%.tex: %.rst $(R2B) Makefile + $(if $V,@echo "$(R2B) $< > $@") + $V $(PYTHON) $(R2B) $(R2BFLAGS) $< | $(R2BFILTER) > $@ + +$O/%.pdf: %.pdf + cp $< $@ + +.PHONY: clean +clean: + $(RM) -r $O + +.PHONY: clean-all +clean-all: clean + $(RM) $(targets) + +__dummy := $(shell mkdir -p $O/img) diff --git a/charla_scm_exactas/archivo-diff.txt b/charla_scm_exactas/archivo-diff.txt new file mode 100644 index 0000000..fd3b675 --- /dev/null +++ b/charla_scm_exactas/archivo-diff.txt @@ -0,0 +1,16 @@ +--- archivo1.txt 2011-05-20 00:24:25.657977905 -0300 ++++ archivo2.txt 2011-05-20 00:24:25.665978701 -0300 +@@ -1,4 +1,4 @@ + Ah, se va en 1981? +-Pero por que?... +-Ah, porque ya habia ++Pero por qué?... ++Ah, porque ya había + sido determinado. +@@ -7,2 +7,3 @@ + presidente nuevo nosot... ++Ah, nosotros no? + Ah, lo van a elegir en la +@@ -14,2 +15 @@ + -- Tato (1980) +- Gobierno de Videla diff --git a/charla_scm_exactas/archivo1.txt b/charla_scm_exactas/archivo1.txt new file mode 100644 index 0000000..9b2af52 --- /dev/null +++ b/charla_scm_exactas/archivo1.txt @@ -0,0 +1,15 @@ +Ah, se va en 1981? +Pero por que?... +Ah, porque ya habia +sido determinado. +Entonces quiere decir +que pronto vamos a elegir +presidente nuevo nosot... +Ah, lo van a elegir en la +... Ah! Quiere que le diga? +Muy bien pensado, porque +cada vez que lo elegimos +nosotros no duran nada! + +-- Tato (1980) + Gobierno de Videla diff --git a/charla_scm_exactas/archivo2.txt b/charla_scm_exactas/archivo2.txt new file mode 100644 index 0000000..74aa8fe --- /dev/null +++ b/charla_scm_exactas/archivo2.txt @@ -0,0 +1,15 @@ +Ah, se va en 1981? +Pero por qué?... +Ah, porque ya había +sido determinado. +Entonces quiere decir +que pronto vamos a elegir +presidente nuevo nosot... +Ah, nosotros no? +Ah, lo van a elegir en la +... Ah! Quiere que le diga? +Muy bien pensado, porque +cada vez que lo elegimos +nosotros no duran nada! + +-- Tato (1980) diff --git a/charla_scm_exactas/diff.eps b/charla_scm_exactas/diff.eps new file mode 100644 index 0000000..cb22b5c --- /dev/null +++ b/charla_scm_exactas/diff.eps @@ -0,0 +1,1221 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: cairo 1.10.2 (http://cairographics.org) +%%CreationDate: Fri May 20 01:00:51 2011 +%%Pages: 1 +%%BoundingBox: 0 -1 487 216 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%EndComments +%%BeginProlog +/cairo_eps_state save def +/dict_count countdictstack def +/op_count count 1 sub def +userdict begin +/q { gsave } bind def +/Q { grestore } bind def +/cm { 6 array astore concat } bind def +/w { setlinewidth } bind def +/J { setlinecap } bind def +/j { setlinejoin } bind def +/M { setmiterlimit } bind def +/d { setdash } bind def +/m { moveto } bind def +/l { lineto } bind def +/c { curveto } bind def +/h { closepath } bind def +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto + 0 exch rlineto 0 rlineto closepath } bind def +/S { stroke } bind def +/f { fill } bind def +/f* { eofill } bind def +/n { newpath } bind def +/W { clip } bind def +/W* { eoclip } bind def +/BT { } bind def +/ET { } bind def +/pdfmark where { pop globaldict /?pdfmark /exec load put } + { globaldict begin /?pdfmark /pop load def /pdfmark + /cleartomark load def end } ifelse +/BDC { mark 3 1 roll /BDC pdfmark } bind def +/EMC { mark /EMC pdfmark } bind def +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def +/Tj { show currentpoint cairo_store_point } bind def +/TJ { + { + dup + type /stringtype eq + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse + } forall + currentpoint cairo_store_point +} bind def +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def +/Tf { pop /cairo_font exch def /cairo_font_matrix where + { pop cairo_selectfont } if } bind def +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point + /cairo_font where { pop cairo_selectfont } if } bind def +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def +/g { setgray } bind def +/rg { setrgbcolor } bind def +/d1 { setcachedevice } bind def +%%EndProlog +11 dict begin +/FontType 42 def +/FontName /Arial-BoldMT def +/PaintType 0 def +/FontMatrix [ 1 0 0 1 0 0 ] def +/FontBBox [ 0 0 0 0 ] def +/Encoding 256 array def +0 1 255 { Encoding exch /.notdef put } for +Encoding 1 /uni004F put +Encoding 2 /uni0072 put +Encoding 3 /uni0069 put +Encoding 4 /uni0067 put +Encoding 5 /uni006E put +Encoding 6 /uni0061 put +Encoding 7 /uni006C put +Encoding 8 /uni004E put +Encoding 9 /uni0075 put +Encoding 10 /uni0065 put +Encoding 11 /uni0076 put +Encoding 12 /uni006F put +Encoding 13 /uni0044 put +Encoding 14 /uni0066 put +/CharStrings 15 dict dup begin +/.notdef 0 def +/uni004F 1 def +/uni0072 2 def +/uni0069 3 def +/uni0067 4 def +/uni006E 5 def +/uni0061 6 def +/uni006C 7 def +/uni004E 8 def +/uni0075 9 def +/uni0065 10 def +/uni0076 11 def +/uni006F 12 def +/uni0044 13 def +/uni0066 14 def +end readonly def +/sfnts [ +<00010000000a008000030020636d61700052f0dd0000117c0000005c63767420eed894cc0000 +11d8000007386670676da203ee140000191000000547676c796640a546ad000000ac000010d0 +68656164ca8f0b3600001e58000000366868656112c30caf00001e9000000024686d747842e5 +06a300001eb40000003c6c6f63610000800800001ef0000000406d61787006f211f400001f30 +0000002070726570a316821500001f500000106c00020100000005000500000300070042b402 +01fe0607b8023f4013000504fe03000a0704fe010019080605fe0203bc0126000901b0011800 +182b10f63cfd3c4e10f43c4dfd3c003f3cfd3c10fc3cfd3c3130211121112521112101000400 +fc2003c0fc400500fb002004c00000020059ffe705e705d3000f001b00a2405597059708980c +980e040801070e080f0718271878097712077711781586048908890c860e8512891488158817 +8818861a0c07120814071a15121a141a18151a07132d0d09192d07031627af0a01000a100a20 +0a030ab8028c4020301d401d601d701d801da01d06201df01d021d1027a000010f001f003000 +0300b8028cb31c7ec3182b4e10f45d714ded4d105d71f65d714ded003fed3fed3130015d5d71 +005d13343736363736332000111000212000011412333236353426232206594332ad6789b301 +440185fe7efebdfeb9fe7e0131e6b1b1e3ddb7b7e002d4e09870b22b3afe6efe9afe9dfe6f01 +8f0168f9fefffffffcf8fb000001008700000337043e001000a84028970501090e0153056605 +7505032f12580e680e7012040a090f0c1f0c028f0cff0c023f0c4f0c020cb802774029070701 +000a0302060a28000910093009700904091a7f129f12025f127f12af12d01204121000260103 +b80129400b02028001a001020119113fb9011c00182b4e10f4713c4d10ed10fd3c4e105d71f6 +5d194de400183f3c3f3c3fed5d717239323130015d005d71004bb017534bb035515a58b10a32 +3859005d212111211536363332170726232206061101a0fee70105436b44605957473d3b522f +0426976b4435f52e41aafef100020093000001ac05ba000300070077b90009ffc0403f110a3f +40095009028009b009c009d009ef09051f0960097f09a009b00905030607000504030f000140 +00d000e00003005d02010006050607040a0207260104b8ffc040092124340419083f3c182b4e +10f42b3c4dfd3c003f3c3f3c3f3cfd5d713c0305103c3c103c3c313001715d722b1311211101 +112111930119fee7011904b60104fefcfb4a0426fbda000000020054fe510460043e0023002f +01324060771d871d02120c0d7031860d80310420012302230330013302330340014302430359 +0f591459255629562b592ff811f813113b0d33163b28332c4b0d44164b28442cf00cfd170a8e +0c010c0b0c0d0b2a0c0d270e1617152d0d0c171604182401b8ffc0b5191b34013300b8ffc0b3 +0e113e00b8ffc0b30b0c3e00b8ffc0b3282a3400b8ffc0b323253400b8ffc0b331343400b8ff +c04009151b34600001005f05b80274b21f0f27b80274b20e0a2db80274400b15071819062a29 +0b261a18b80129400919191a1a8f31013101b801b8400a00332421121930583c182b4e10f44d +edf4ed4e1071f63c4d10ed10fde4003f3c3fed3fed3ffdf4722b2b2b2b2b2be42b0111121739 +0011123939111239390708103c313000715d015d714358400d690f691469256729662b692f06 +5d59005d170516171633323736373635350623222726351000333217352111140e0223202635 +34131416333236353426232206790141081d28566e3725130d7ec0d67d620101bfc58001073e +70bb8ffef2e2fc8360678e88686583462738151e211631235e9bacb58fd5010b011aad95fc47 +bcba6a3cb98e0e0283a99da19ea5a09d0001009100000459043e0016009f4018071317135a08 +680804b80401340834104408440fe9100506b80274401d11070e0d060c0b0b01000a02012616 +0040202434af0001ff0001001a18b8ffc040162224349018a018027018f01802ef1801180a0b +260c0eb80129b20d0d0cb8ffc0400f202434a00c01f00c010c19173f3c182b4e10f471722b3c +4d10ed10fd3c4e105d71722bf671722b3c4dfd3c003f3c3c103c3f3c3fed3130005d01715d21 +2111342626232206061511211121153633321e02150459fee724513949742bfee701058bd35d +9a4f1f021eac65385084b2fe1f04269cb44368847b00000000020049ffe8042e043e00230032 +014e4068071a081c051d161a4a1b481c4925db10df1109361946195726661967268626921993 +1aa61ab91bc71ac81b0c06060d151606191627062915591977028602a606b506c6060cbf34d9 +10021d243231112c0d24402b2e3424402228342440191d346f24fc240224461db8ffc040300e +0f343d1d01001d101db01df91d041d1d2c013300400e0f340f001f0002005521401c113f2140 +1b103f2140181a3421b80274b504070c0d0a2cb8ffc0b31c113f2cb8ffc0b31b103f2cb8ffc0 +b3181a342cb802744040140b1e3126082909280d591f0c9f0c021f0c01ff0c010c400e16340c +1a4f340134600001008e300101013329215f1701df17014f175f176f17031719336941182b4e +10f45d71724dedf471ed5d4e105df62b5d71724dedf4e4fd3c003fed2b2b2b3f3c3ffd2b2b2b +f45d2be412392f5d712bed5d2b2b2b111239030e103c3c3c313001715d005d71012736363332 +1616150314161721262726270606232226353436363736373534262322060106060706151416 +333237363736350165ff2bd2cfbcb84b031b25feea0b10070348a45da4bd569b92c54c506f4b +54015e36ea243758444c4533100b02e22e9a945989b7feb88c854c1c3719084646b2885a8d4b +1c25201c51453bfed2123218273c3b5632263724650000010093000001ac05ba00030053b900 +05ffc04029110a3f40055005028005b005c005d005ef05051f0560057f05a005b00505020100 +03000a0203260100b8ffc040092124340019043f3c182b4e10f42b3c4dfd3c003f3c3f3c3130 +01715d722b3311211193011905bafa46000100980000052305ba000901a6400e090306081903 +1708041208020303b8ff00b3120b3f03b8ffc0b35b5d3403b8ffc0402a535434033207081407 +0708030802020703090402020907080304405b5d340440535434043206cf050105b8028b4019 +400b500b600b03700b800b02a00bc00b02200b300b020b0809b8ffc0b35b5d3409b8ffc0400e +53533409320120003000c0000300b8028bb30a3175182b4e10f45d3c4dfd2b2b3c4d105d5d71 +72f65d3c4dfd2b2b3c003f3c3f3c011112393900123939872e2b2b2b2b877dc431304358b900 +03ff80b60b3508800b3503b8ffc0403d1a2e3408531a2e340503160332034003044603850890 +08a008b208e40306c403cf08da080320032f0834033b084f0892039f08a003af08b003bf080b +07b8ffc04009333534024033353407b8ffe0400d2f323402202f32340207143507b8ff974009 +212e340254212e3407b8ffc040461e203402541e20340802070718020317072c0227073b0233 +074e0240075c0256070914021b074d0245079a07ab07cb02d902e802e707f9020b270228074a +0778078807ac0206015d7172722b2b2b2b2b2b2b2b2b005d5d71722b2b2b2b59005d33112101 +11211121011198012002580113fed7fdb105bafc2d03d3fa4603bcfc440000000001008dffe8 +045304260016009c401757116711960503090619063c023c114b024b11e702070fb802744011 +040b16000a1514140a0906131426151500b80129400e1640202434af1601ff1601161a18b8ff +c040162224349018a018027018f01802ef1801180a0b260908b8ffc0400f202434a00801f008 +010819173f3c182b4e10f471722b3c4dfd3c4e105d71722bf671722b4ded3c10fd3c003f3c3c +103c3f3c3fed3130005d015d2135060623222626351121111416163332363635112111034e3a +bd696baa4c01191f523f48722a01199f55625eaa9602a0fe18e0653b4f75e401c0fbda000002 +0041ffe80427043e0014001c01a3b90010fff840460b3999099a0d9610a805a70abb09bb0db8 +1a0808140148024706460a4f1ea80db606b61ac70ac80cd60ad80cf807f70d0d1c0f1c15401b +1d3415400e11340f15bf15cf150315b8ffc0b30f1e3f15b8ffc0b30e173f15b8028d400c0f0e +12500e600e020e181201b8ffc0b6191b3401331200b8ffc0b31d203400b8ffc0b322293400b8 +ffc0b32b2d3400b8ffc0b3181c3400b8ffc0400f0e0f34a000010000100002005f1212b80274 +b3040b1218b8027440240b070021012f15214f0e010e1a2f1e5f1e6f1e9f1e041e0f2108400d +0f3408191d6941182b4e10f42b4ded4e105df65d4dedf4ed003fed435c584014184028143f18 +401e0f3f18401b103f18401c113f2b2b2b2b593ffd435c58b90012ffc0b328143f12b8ffc0b3 +1e0f3f12b8ffc0b31b103f12b8ffc0b21c113f2b2b2b2b59f45d712b2b2b2b2b435c58b90000 +ffc0b2123900b8ffc0b2173900b8ffb0b3090a3e00b8ffc0b241213f2b002b2b2b59e42b1112 +395d435c5840140e400f1e3f0e401c113f0e401b103f0e400e173f002b2b2b2b592f3cfd2b2b +722b2b3c0111333130015d71005d2b0105060623202726351000333200032116163332361326 +26232207061702fa011836e9affeeb85690114d3ed011206fd40038261425a270378565c3c3c +0101522f9aa1b591dd0108012bfec7febd7d8b48016c7a7f434373000001000b0000045a0426 +000b00ee401505281a2f3407281a2f3406281a2f3408281a2f3403b8ffd8b31a2f3404b8ffc0 +40201a3a349a040106030b08080a0c0b1501150212031a091a0a22002d0bc70b0c00b8fff040 +281d20340a00050b1400190b25002a0b34003a0b8700090b000a040b0a0909020201060b000a +09390db8ffc040181c28340b0d1f0d300d400d040d17171a100a3f0a4f0a030ab80230400b04 +02390b043f044f040304ba02300001ff80400f0c350001200140010301190cc4a0182b194e10 +f45d2b184ded5ded10fd5d194e456544e65d2b184ded003f3c3f3c103c103c12390112393931 +3001712b5d005d2b012b2b2b2b2b21012113173637363713210101b7fe540127c83a17060e10 +ca0121fe5a0426fde2b545162d2d021efbda000000020052ffe8049a043e000d001900974048 +e801e708f713f71504c702e805021219051909025910561356165918970298069808970cb809 +d502db05dc09d50ce705e706e80d10a708cb02cc06c308c60c057508890684080311b80274b2 +0a0b17b80274401404071439071a601b701b021b0e2100191a5841182b4e10f44ded4e1071f6 +4ded003fed3fed313000715d015d7143584009691066126616691804015d59005d015d133412 +3633320015140023222426251416333236353426232206528afd9cf10134fec9ec92fef78a01 +20966e6e95956e6e9602228c01068afec7eff1fec384ffa89ea8a8a09ca8a800000200940000 +056105ba0010001f007f40332805280a47176504650c052a173917481659166816053917361b +871b9905960b051f11250100021312250f10081927af070107b8ffc0b3090b3407b8028c4013 +80210120213021022111122000201030100210b8028bb3203153182b4e10f45d3c4dfd3c4d10 +5d71f62b714ded003f3cfd3c3f3cfd3c3130005d71015d132132171616121514070607060706 +232101113332373e023534262627262394021db76081b8602d37664d8362a4fdd30128dd7c37 +485f3c3c6c533eb505ba1c26c2fee7ceb583a0634b2a1f04c2fc350e1256c5aaaab666120e00 +000000010018000002e605d3001600b840323604012a042010201159048018050804bf180215 +161102141216110e130f00100e13010010021409080f0b015f0bff0b020bb80274400a060111 +0f1601ff160116b80274401e10000001f00001000613140a09333f084f085008030828102f11 +5f110211b80104400d0e132602145f00a016c0160216b8ffc0b6090c3416191778b902690018 +2b4e10f42b713c4dfc3cfd3cfc5d3cf45d19e400183f3c3f5d713cfd5d713c3ffd5d7139320f +0f0f0f313001715d005d1333353436363332170726232206151533152311211123189c399975 +787326433e3d35d2d2fee79c04265086845324c41039514bddfcb70349000000000200030000 +0000001400010000000000340004002000000004000400010000f00effff0000f000ffff1000 +0001000000000006002800000000000f0000000100020003000400050006000700080009000a +000b000c000d000e05ba001c05ba001c05a7001c0426001c0000ffe40000ffe40000ffe4fe69 +ffe405ba001cfe69ffe402ea0000011d0000011d000000000000000000b200ac00d701280120 +00b301fa001700f8011901310049000400f7000300af00fd0095001400540096011200240016 +0055004901040119012b008c019bff76ffe9003d009200a2ffb70182ffaa0016008f00c600f8 +001c00de04010037004e00550055006500e903e50059ff9a00080087000b003b005201160061 +00d600d600f500000093009400be017cfff80004001400820092003c00410041ffc1fffc002a +008c049005d809b5009100bb0106ff63ff69001e0022008a022bffd6ffdf0026005900a300ac +0104012b01c004480021006b00850098011903c6006b009500a400fe010c025d034305bf0000 +00490056006e0077008a00aa00ca0112015005d805f0ff7bffe70006001300280061006900e9 +0135014d02a5040cff3effda005b00b900c801190119011901c0045b04a7055bfe3fff9dffc2 +001500b7010a01bc01c10532058efd81ffa1ffae000c00260031003d004e00560062008300c1 +00c900f100f2027fff7f00480053007700c5011d01200126012801d60219027e027e03d3002e +0041005d006b0075009f00b000b200ba00bb00bd00d600db00e000e50114011b014a01620191 +01f2020c026402cf039b03b403d4040104a9001600230025002a007400a500b600cc00cd00cf +0105012001300150016a016f0197019d01e002b002ec02f70408048304fb04fd0526fee0fefb +ff4efff50018001a004c007a007f009100a300b300b400ce00d500f200f300f6011001380168 +01a101b001e001ec02090222024f0270029602a502ad034e039103c104350442046b04cd04da +0586058b076107fefca6fe93feadfed1ffb7ffd10003000e00180026004600690081008f00a5 +00bf00d300d500d900dd00e20119012b0138013b015a015e016801730188019401ad01c501d1 +01ea01f20200020002000222023b0244024f026f0272027e02820293029402a502cf02cf02d0 +02da02dd02eb02f5030503220336037103a103b003b803d003e604100426042e0431044f045a +04ff053205320547055305a805ab05c205f0063c0664067006e80782078408ccfd2afddefe00 +fe68feb0feb3ffaa00080059007a0091009e00a200af00b400bb00ca00cc00ce00d900e000f4 +0114011a01210127012b01390146014b014d0157015c01650182018701920198019b01a201ae +01c501c501d102070222022b024102530261026502840287028d02b402b402ba02c902d602d8 +02ed02f503170323032b03310349035a035b036e03710374037e03840391039103aa03cf03d3 +03e703e803ed04080417041e0475047a049904a704b404d1054c056d056d05a205bf05c005d1 +05fc05fc0602061a061c062f066a06a806e2070607360750078907d407f30870011c012a011a +01200000000000000000000000000219000b001e02aa0214047f01ed0000001d0104000f0091 +002b01880153011201f3003f03fe0168010e047f01ed036e03150219041300000000064004b0 +0000027401bb003501c5007f06020301000004e000b201dc02e004c3023d00d50160011904a7 +036e05ca022100ab0426009002bc02bb014200b4023c0256029c030001e501a800e5006b0078 +0094016b017300ab01ed013a017d0137017f00d4021603530184003cffa202040109014901f0 +006e031500810464005e00000000000000000000000000000000000000000000000000000000 +0000013900dc00e9fe9e040d047c012b00b80096005900ac00df01a900fa0105ffec00170003 +005500610004008c00a3008500280120005d00d6007f012601190104016c06cf00b401060000 +0737063e047a00f000f900e905ba042604420000ffe7fe69049e04e3ff37ff2d012001050120 +00a800740068004700f200e500d900bd00a800680047005c0048000a0028003200410050005a +0064007d00870091ffb0ff9cff83ff79ff6f00cb012000fa012c01fa01a000d500b8005c003c +00c800c8008f00d9018b00b30047000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000fe6400c000ea0118 +0125013203b003ed0576059005aa05b405be05cd063100780084009b00cc00e200f4010a0120 +016300d100ea00f7010801420019002c00340041003800480058006c025903bd0043011a0070 +00d30028003700420050005a0064007300780082008c009c00a500bd00ce00f00110015c00be +00d801020117012c016300ea01080041004b0055005f007300a60109018301b300410064001e +002a00eb00fa010e01380274002c00400082009600b600c000cc00dc00e600f000ff010a0120 +012c013b01440156016300f70057006401100136005001b10046ffb6007f004e004403cc00e5 +002401100042012201a400f0006000e0000e001d003905e30102002cfe4eff38026903bd0116 +00ff000e00a00054001b003d01710041000f005000fd0015014f0035fe52002c4040403f3e3d +3c3b3a3938373534333231302f2e2d2c2b2a292827262524232221201f1e1d1c1b1a19181716 +1514131211100f0e0d0c0b0a090807060504030201002c4523466020b02660b004262348482d +2c452346236120b02661b004262348482d2c45234660b0206120b04660b004262348482d2c45 +23462361b0206020b02661b02061b004262348482d2c45234660b0406120b06660b004262348 +482d2c4523462361b0406020b02661b04061b004262348482d2c0110203c003c2d2c20452320 +b0cd442320b8015a51582320b08d44235920b0ed51582320b04d44235920b09051582320b00d +44235921212d2c20204518684420b001602045b04676688a4560442d2c01b10b0a432343650a +2d2c00b10a0b4323430b2d2c00b0172370b101173e01b0172370b10217453ab10200080d2d2c +45b01a234445b01923442d2c2045b00325456164b050515845441b2121592d2cb00143632362 +b0002342b00f2b2d2c2045b0004360442d2c01b00643b00743650a2d2c2069b04061b0008b20 +b12cc08a8cb8100062602b0c642364615c58b00361592d2c45b0112bb0172344b0177ae4182d +2c45b0112bb01723442d2cb01243588745b0112bb0172344b0177ae41b038a45186920b01723 +448a8a8720b0c05158b0112bb0172344b0177ae41b21b0177ae45959182d2c2d2cb002254660 +8a46b040618c482d2c4b53205c58b002855958b00185592d2c20b0032545b019234445b01a23 +444565234520b00325606a20b009234223688a6a606120b01a8ab000527921b21a1a40b9ffe0 +001a45208a54582321b03f1b235961441cb114008a5279b31940201945208a54582321b03f1b +235961442d2cb110114323430b2d2cb10e0f4323430b2d2cb10c0d4323430b2d2cb10c0d4323 +43650b2d2cb10e0f432343650b2d2cb11011432343650b2d2c4b525845441b2121592d2c0120 +b003252349b04060b0206320b000525823b002253823b002256538008a63381b212121212159 +012d2c4bb06451584569b00943608a103a1b212121592d2c01b005251023208af500b0016023 +edec2d2c01b005251023208af500b0016123edec2d2c01b0062510f500edec2d2c20b0016001 +10203c003c2d2c20b001610110203c003c2d2cb02b2bb02a2a2d2c00b00743b006430b2d2c3e +b02a2a2d2c352d2c76b8023623701020b802364520b0005058b00161593a2f182d2c21210c64 +23648bb84000622d2c21b08051580c6423648bb82000621bb200402f2b59b002602d2c21b0c0 +51580c6423648bb81555621bb200802f2b59b002602d2c0c6423648bb84000626023212d2cb4 +000100000015b00826b00826b00826b008260f10161345683ab001162d2cb4000100000015b0 +0826b00826b00826b008260f1016134568653ab001162d2c4b53234b515a5820458a60441b21 +21592d2c4b545820458a60441b2121592d2c4b53234b515a58381b2121592d2c4b5458381b21 +21592d2cb0134358031b02592d2cb0134358021b03592d2c4b54b012435c5a58381b2121592d +2cb012435c580cb00425b00425060c6423646164b0035158b00425b00425012046b010604820 +46b0106048590a21211b2121592d2cb012435c580cb00425b00425060c6423646164b8070851 +58b00425b00425012046b8fff060482046b8fff06048590a21211b2121592d2c4b53234b515a +58b03a2b1b2121592d2c4b53234b515a58b03b2b1b2121592d2c4b53234b515ab012435c5a58 +381b2121592d2c0c8a034b54b00426024b545a8a8a0ab012435c5a58381b2121592d2c462346 +608a8a462320468a608a61b8ff8062232010238ab902a702a78a70456020b0005058b00161b8 +ffba8b1bb0468c59b0106068013a2d00000100000002d1ec61387d0a5f0f3cf5081908000000 +0000a2e33c1d00000000b53db2cffafafcfd1045086200010009000100010000000000010000 +073efe4e00431000fafafe51104500010000000000000000000000000000000f060001000639 +0059031d00870239009304e3005404e30091047300490239009305c7009804e3008d04730041 +0473000b04e3005205c7009402aa0018000000000000006c0000017400000258000002fc0000 +04bc000005a80000079400000800000009d800000ac000000ccc00000df400000ee400000fd0 +000010d000010000000f00f2003c0063000500020010002f00410000064d106c00030002bd03 +9a000f0101001fffc00398b310143240b80399b30f1332404110039500500395000200b0034d +00c0034d0002006f0391007f03910002ffc0034bb22d3132b9ffc0034bb30a0e32104110038b +0020038b0080038b000300a0038b00010020038b0040038b0002ffc0038bb313163240b80383 +b20f1132b9ffc0037bb2303432b9ffc0037bb3101832504114037800010365036e0023001f03 +7e036e001e001f0363036e001d001f03620364000d001fffc00340b30f1032804110033f0001 +033f03150029001f034103160032001f0344031a001b001fffc00375b20e1132b9ffc00375b2 +282a32410a034303180032001f030f030d0034001f03080307b2321f20bb0340000100400388 +b3090b3240b80388b2101532bd038503070014001f03800307b2171f0fbd030a002f030a0002 +ffc00354b3090d3290410c035400a003540002001f036e0001009f036e00010040036eb2090b +32410a0345031c0016001f036b031d0015001f0346031eb2151fc0bb0393000100400392b309 +0d3240b8033eb2083340b8033eb30d0e32c04109033e000100b0038e00c0038e0002ffc00390 +b326383200412603280030032800020020037f0030037f00020010038a0030038a0050038a00 +6f038a007f038a009f038a000600000389003003890002002f037a0070037700900377009f03 +7a0004ffc00315b20f1032b9ffc00315b2242832b903190318b2321f10bb031a0001ffc0031a +b3090e3240b80318b2121332b9ffc00318b30c0e323fbd0373004f0373000200400374b31718 +326fbb032a00010040032cb3181b3240b80370b2090c32bd031703160032001fffc00316b20e +1132bd031c031e0016001f031d031eb2151fb0411f031e0001000f031f000102ca02d0001500 +1f02d302d5000d001f02cf02d0000d001f02cb02d0000d001f02cd02d0000d001f02ce02d000 +0d001fffc002d0b3090c3240b802d2b3090c32e0411c02e50001005f02dd009f02e5000202bb +02c30030001f02da02b80032001f02d902b9003f001f02d802b80064001f02b902b80033001f +02bab221c81fb802b8b321c81f40b8039bb20d1632b9ffc002c3b22b2f32b9ffc002c3b21f25 +32b9ffc002c3b2171b32b9ffc002c3b2121632412502c202c1001c001f02d702c10024001f02 +c102c00022001f02bf02c00018001f02c0027400c8001f02b50235003b001f02b40235003b00 +1f02c402bc001e001f02b702b60038001f02b3b20ec81fb802b0b207c81fb802afb206c81fb8 +02aeb200c81fb802afb2502f1fbc02ae02ab001a001f02adb2261a1fb802a8b326241f0fbb02 +35000102a50274b21d1f12410a02a1015801f4001f02a000d801f4001f001202a2b237c81fb8 +0290b2bc201fb9029002904018374025402d40a6033025302d30a6032025202d203720a62041 +10028e0005009f028b0001028b028b003700200289003002890040028900900289b20437b041 +fd027400c0027400020080027400a00274000200600274007002740002000002740010027400 +020080027400f002740002003f0285004f028500020090027e0090027f009002800090028100 +040090027a0090027b0090027c0090027d000400900274009002750090027700030070027e00 +70027f007002800070028100040070027a0070027b0070027c0070027d000400700274007002 +750070027700030060027e0060027f006002800060028100040060027a0060027b0060027c00 +60027d000400600274006002750060027700030050027e0050027f0050028000500281000400 +50027a0050027b0050027c0050027d000400500274005002750050027700030040027e004002 +7f004002800040028100040040027a0040027b0040027c0040027d0004004002740040027500 +40027700030030027e0030027f003002800030028100040030027a0030027b0030027c003002 +7d000400300274003002750030027700030020027e0020027f00200280002002810004002002 +7a0020027b0020027c0020027d000400200274002002750020027700030010027e0010027f00 +1002800010028100040010027a0010027b0010027c0010027d00040010027400100275001002 +77000300e0027e00e0027f00e0028000e00281000400e0027a00e0027b00e0027c00e0027d00 +0400e0027400e0027500e00277b103d041c5027e00d0027f00d0028000d00281000400d0027a +00d0027b00d0027c00d0027d000400d0027400d0027500d00277000300300274004002740002 +00c0027e00c0027f00c0028000c00281000400c0027a00c0027b00c0027c00c0027d000400c0 +027400c0027500c00277000300b0027e00b0027f00b0028000b00281000400b0027a00b0027b +00b0027c00b0027d000400b0027400b0027500b00277000300a0027e00a0027f00a0028000a0 +0281000400a0027a00a0027b00a0027c00a0027d000400a0027400a0027500a0027700030090 +027e0090027f009002800090028100040090027a0090027b0090027c0090027d000400900274 +009002750090027700030020027e0020027f002002800020028100040020027a0020027b0020 +027c0020027d00040020027400200275002002770003028101580801001f028001290801001f +027f00ec0801001f027e00d80801001f027d00b10801001f027c00a60801001f027b00820801 +001f027a00370801001f027700260801001f027500200801001f0274001f0801b21f370f4116 +0235004f0235005f0235006f0235009f023500af023500bf0235000700af023500cf023500df +023500ff02354022040f074f079f07af07bf0705af07e007020f064f069f06af06bf0605af06 +e0060220411b020d0001005f02350001008f02350001007f023500ef02350002002f0235003f +02350002003f0234004f0234000202350235023402344011ed20ef2a01cf2a01bf2a01af2a01 +8f2a01410902470104001e001f022000370201001f0158400c263e1fd8263e1f3726273e1fb8 +028eb6ec171fb226361fb801bcb226361fb80129402b26361fec26361fb126361fa626361f82 +26361f3726361f3226361f2d26361f2526361f1f26361f37262a1fb801584022263e1fd8263e +1fbc263e1f27263e1f21263e1f20263e1f3700161600000012110840b9020d01a6b3c50d0009 +b801bcb227281fb801bbb227301fb801b8b2274f1fb801b7b227621f410901b600270101001f +01b5002002ab001f01afb21fe41fb801adb21fe41fb801acb21fbb1fb801a8b21f341fb8015d +b2272e1fb8015bb227cd1f410d0155001f0401001f0154001f0401001f0153001f0201001f01 +52b21f561fb80151b21f291fb8012bb227261f410d012a00270125001f0129015800e4001f01 +25001f0401001f0124b21fe41fb80123b21f3b1fb80122b21f391f410d010800270801001f01 +06002d0101001f0105001f0101001f0103b31fbb1fefb901580401400b1fed1f931fec1fe41f +eb1fb80201b21fd920b80401b21fcf25b80156400a1fbc2d9e1fbb1f411fb2410a0158040100 +1f00b101580401001f00b001580401b51fa625891f9bb901580125b61f991f2e1f8e2db80801 +b51f8d1f291f89b901580401b21f8220b802ab40131f801f301f742de41f731f4a1f611f521f +5d25b802abb21f5c1fbc0801001f0059015802abb61f5025891f491fb80125b21f4725b80401 +400b1f461f791f401f271f3920bc02ab001f003801580401b21f372dbc0125001f0032015801 +25b61f2c1f341f2a25b80801b21f5537b80111402a07f00790075b0742073b07230722071e07 +1d071408120810080e080c080a080808060804080208000814b8ffe0402b0000010014061000 +0001000604000001000410000001001002000001000200000001000002010802004a00b01303 +4b024b5342014bb0c063004b6220b0f65323b8010a515ab005234201b0124b004b5442b0382b +4bb807ff52b0372b4bb007505b58b101018e59b0382bb00288b801005458b801ffb101018e85 +1bb0124358b10100858d1bb900010119858d5959001816763f183f123e113946443e11394644 +3e113946443e113946443e11394660443e11394660442b2b2b2b2b2b2b2b2b2b2b182b2b2b2b +2b2b2b2b2b2b182b1db0964b5358b0aa1d59b0324b5358b0ff1d594bb08153205c58b9020f02 +0d4544b9020e020d45445958b90470020f455258b9020f04704459594bb0e453205c58b90020 +020e4544b90027020e45445958b908420020455258b9002008424459594bb8012553205c58b9 +0026020f4544b90021020f45445958b90a0d0026455258b900260a0d4459594bb8040153205c +58b1d8204544b1202045445958b9250000d8455258b900d825004459594bb8040153205c58b9 +015800264544b1262645445958b923200158455258b9015823204459594bb02953205c58b11f +1f4544b12d1f45445958b9010d001f455258b9001f010d4459594bb02f53205c58b11f1f4544 +b1251f45445958b90135001f455258b9001f01354459594bb8030153205c58b11f1f4544b11f +1f45445958b91428001f455258b9001f14284459592b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b65422b01b331757ec3456523456023456560234560b08b766818b08062 +2020b17e754565234520b003266062636820b003266165b075236544b07e234420b131c34565 +234520b003266062636820b003266165b0c3236544b0312344b100c3455458b1c3406544b231 +40314523614459b33f3c5841456523456023456560234560b089766818b080622020b1583c45 +65234520b003266062636820b003266165b03c236544b058234420b13f414565234520b00326 +6062636820b003266165b041236544b03f2344b10041455458b141406544b23f403f45236144 +5945695342014b5058b108004259435c58b108004259b3020b0a124358601b2159421610703e +b0124358b93b21187e1bba040001a8000b2b59b00c2342b00d2342b0124358b92d412d411bba +04000400000b2b59b00e2342b00f2342b0124358b9187e3b211bba01a80400000b2b59b01023 +42b0112342002b2b2b2b2b2b2b2b00b01243584bb035514bb021535a58b1262645b040614459 +592b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b737373737345b04061441800456944456944 +7373737473737374737473742b2b2b2b2b2b2b2b2b2b2b2b0073737373737373737373737373 +7373737373737373737474747474747474747474747474747474747474747575757374757575 +752b7300004bb02a534bb036515a58b1070745b040604459004bb02e534bb036515a58b10303 +45b0406044b1090945b8ffc06044592b4569440174007373732b4569442b012b435c58400a00 +06000702a006a00702b9ffc00274b31a1d326fbd0277007f02770002ffc00277b22f3132b9ff +c00277b322253240b80274b32f353240b80274b3282a3240b80274b21a2132b8ffc0b3371a1d +32b8ffc0b3251a1d32b8ffc040112d1a1d329025902d9037a025a02da03706b8ffc0b6a61a1d +321fa61fb8028eb22fa60300742b732b2b2b2b2b2b2b2b742b737459002b2b435c58b9ffc002 +a1b21c1d32b9ffc002a0b21c1d322b2b592b73012b2b2b2b002b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b012b2b2b2b2b2b2b73742b2b2b2b2b2b2b2b73732b2b2b2b2b2b732b732b2b2b74 +2b2b2b73737373732b73732b2b2b73002b2b2b2b7374732b732b2b2b2b752b2b2b2b2b2b2b2b +752b2b2b2b2b732b2b2b2b7374752b2b7373732b2b2b00> +] def +/f-0-0 currentdict end definefont pop +11 dict begin +/FontType 42 def +/FontName /AndaleMono def +/PaintType 0 def +/FontMatrix [ 1 0 0 1 0 0 ] def +/FontBBox [ 0 0 0 0 ] def +/Encoding 256 array def +0 1 255 { Encoding exch /.notdef put } for +Encoding 1 /uni0041 put +Encoding 2 /uni0068 put +Encoding 3 /uni002C put +Encoding 4 /uni0020 put +Encoding 5 /uni0073 put +Encoding 6 /uni0065 put +Encoding 7 /uni0076 put +Encoding 8 /uni0061 put +Encoding 9 /uni006E put +Encoding 10 /uni0031 put +Encoding 11 /uni0039 put +Encoding 12 /uni0038 put +Encoding 13 /uni003F put +Encoding 14 /uni0050 put +Encoding 15 /uni0072 put +Encoding 16 /uni006F put +Encoding 17 /uni0070 put +Encoding 18 /uni0071 put +Encoding 19 /uni0075 put +Encoding 20 /uni002E put +Encoding 21 /uni0079 put +Encoding 22 /uni0062 put +Encoding 23 /uni0069 put +Encoding 24 /uni0064 put +Encoding 25 /uni0074 put +Encoding 26 /uni006D put +Encoding 27 /uni0045 put +Encoding 28 /uni0063 put +Encoding 29 /uni006C put +Encoding 30 /uni0067 put +Encoding 31 /uni0021 put +Encoding 32 /uni0051 put +Encoding 33 /uni004D put +Encoding 34 /uni007A put +Encoding 35 /uni002D put +Encoding 36 /uni0054 put +Encoding 37 /uni0028 put +Encoding 38 /uni0030 put +Encoding 39 /uni0029 put +Encoding 40 /uni0047 put +Encoding 41 /uni0056 put +Encoding 42 /uni00E9 put +Encoding 43 /uni00ED put +Encoding 44 /uni0078 put +Encoding 45 /uni0032 put +Encoding 46 /uni0035 put +Encoding 47 /uni002B put +Encoding 48 /uni0040 put +Encoding 49 /uni0034 put +Encoding 50 /uni0037 put +Encoding 51 /uni0033 put +/CharStrings 52 dict dup begin +/.notdef 0 def +/uni0041 1 def +/uni0068 2 def +/uni002C 3 def +/uni0020 4 def +/uni0073 5 def +/uni0065 6 def +/uni0076 7 def +/uni0061 8 def +/uni006E 9 def +/uni0031 10 def +/uni0039 11 def +/uni0038 12 def +/uni003F 13 def +/uni0050 14 def +/uni0072 15 def +/uni006F 16 def +/uni0070 17 def +/uni0071 18 def +/uni0075 19 def +/uni002E 20 def +/uni0079 21 def +/uni0062 22 def +/uni0069 23 def +/uni0064 24 def +/uni0074 25 def +/uni006D 26 def +/uni0045 27 def +/uni0063 28 def +/uni006C 29 def +/uni0067 30 def +/uni0021 31 def +/uni0051 32 def +/uni004D 33 def +/uni007A 34 def +/uni002D 35 def +/uni0054 36 def +/uni0028 37 def +/uni0030 38 def +/uni0029 39 def +/uni0047 40 def +/uni0056 41 def +/uni00E9 42 def +/uni00ED 43 def +/uni0078 44 def +/uni0032 45 def +/uni0035 46 def +/uni002B 47 def +/uni0040 48 def +/uni0034 49 def +/uni0037 50 def +/uni0033 51 def +end readonly def +/sfnts [ +<00010000000a008000030020636d61700321f3d800002914000000aa637674201edb3bab0000 +29c0000002806670676d14fec44200002c40000006b7676c7966227ded0f000000ac00002868 +68656164c589e943000032f800000036686865610c1103460000333000000024686d7478033e +2d2b00003354000000d86c6f636122e119980000342c0000006e6d61787002e208490000349c +0000002070726570554ed6a1000034bc00000337000200d8000003f50560000300070014b707 +010400050304002fcd2fcd002fcd2fcd31303311211125211121d8031dfd63021dfde30560fa +a0800460000200390000049805830007000a00d3408002080909010a03040409060907380901 +090a018100071400000709040908048105061405050608061806280603e806f8060202080601 +1301060907370906080a93400237034703670377030400030307a70601060305040100120705 +010802a7050103080001090008020107040004030a060405090900050c0077020b0576022b2b +01111239192f1217391217395f5e5d5f5d5f5e5d00183f3c3c3c3f5d3c392f5f5d3c1a4dfd3c +11392b015f5e5d5f5d71872e184d2b087d10c487052e182b087d10c42b0705103c7dc407103c +3c31302123032103230133130b010498ac9cfe319eaa01cdc556b9b801eefe120583fcfa0248 +fdb8000100d7000003fa0583001000664018d70fe70f0201b8040102050e0108030a00070701 +1401070cb8ffe0b51214360ce20eb8ffec401a090c3605950e100800120185000b0885094012 +006802110965022b2b011a18104dfd3c10ed003f3c3fed2bfd2bcd5f5e5d3f5f5e5d3130015f +5d005f5d212311342623220711231133113633201103fa9c595f8fa49c9ca8ba0125029c8b7d +b2fd0e0583fdf6b2fe9e000101eeff1002ee00dd000d0037b9000cfff0400f181c360ce70bb3 +06b000130000090cb8ffc0400a0813360c09af03030f0e1112392fedc62b12392f003fedf4ed +2b3130052e0135343633321615140727360268344442323852da267a1b064a2f33465b40c46e +483c0000000100e9ffe503ec042b0025011b40be0a1b010a0901039717a71702370b0101c722 +010208210101b70e0102070e01a7070101071a1d1a870a07140a1a190a07450a750a850a0303 +971d0102a71d0101571d671db71d0302881d0103381d481d02021d070a1a0410232595080018 +00280038004800580068000700000295a8230103231012950713171327133713471357136713 +07001315951013b82001a70501020a1d0d201a0718059825a82502002518850d980d01031205 +852040972001020820010800270d6802262065022b2b015f5e5d5f5d1a18104dedc45f5d10ed +c45f5d11123939111239395f5d5d003ffdde5f5ded3f5f5dfdde5f5ded111217395f5d5f5d5f +5d5f5d5f5d5f5d87082e2b87047dc4183130015f5d5d5f5d5f5d5f5d005f5d5d5f5d5d012623 +22061514161f011e021514062322273716333236353426272e03353436333217038d83747f94 +446695678241fac1c07d1e839682a3519679726233ecc37e9a037d2b55472d431d2b1d51734c +95ad3a873e615036552e252548643e879e2b0000000200aaffe50419042b0012001900724047 +070217028702030b01851701970f0103070f170f270f030d0237040103199501010916950f10 +07950806180628060311000604950913071383001901830c401b0069021a0c66022b2b011a18 +104dfdc510edc6003ffdd65f5e5ded3fed12392fed5f5d5f5e5d5f5d3130015d005f5e5d0121 +1416333237170623220035341233321215273426232206070419fd35cd958e971b8ab8e8fee4 +ffcab4f2aa985e799f090204b1e6337d3e012afdf80127feeee44e7aa7a08100000000010087 +0000042904120006009440580802280238024802040903020501380506050406870001140000 +0105040506048703021403030202050137000604030f050108020102120800010c0301024705 +5705020105050306000403080301130008007702070376022b2b015f5e5d113311331239192f +5f5d33335f5e5d00183f5d3c333f3c3c3c2b87052e184d2b087d10c487052e182b087d10c42b +3130015f5e5d090123013309010429fe758efe77aa012701270412fbee0412fcc3033d000002 +00d7ffe50414042b001b002600bc40185820682002770a010107180108103c1113360718090a +3618b8fff0b3080a3624b8fff04016101336381d0108110110021d950e0e05171595144014b8 +ffc0402717173614119517101c03249505130112080818082808580804100203421c0e018500 +0e85194015b8ffc04010141936152183084028196802270866022b2b011a18104dedc42b011a +18104dedd6ed103ce55f5e5d003f3fedddcd3fedcd2b001a18104ded1112392fed5f5e5d5d2b +3130012b2b2b005e5d5f5d5d212326350623222635343e023f01351023220607273633201901 +1427350e0215141633323604149b1385e574b13e78ac76affa3bb54129d5b701649cd39d7362 +4c53a43f69c3a5824d76512f090e32010c3323706dfe87fe4088cbbd13215a4d465663000001 +00d7000003fa042b001000574010c70fd70f0201a8040102b7070101070cb8ffe0b51214360c +e20eb8ffec401b080c3605950e100a0f080012018500120068020b088509110965022b10fd3c +2b10ed003f3c3f3fed2bfd2bcd5f5d3130015f5d005f5d212311342623220711231133153633 +201103fa9c595f8fa49c9ca8ba0125029c8b7db2fd0e041299b2fe9e00010114000003fa058b +000a005e40350704170402060405048d07061407070606040707051705021001050507040903 +990112070300090506010601098b40030b0c038b182b01182f1a4ded33332f2f3c10cd123900 +3ffd3c3f332f5f5e5d123939872e2b877dc43130005d290135211105352533112103fafd1a01 +2bfee601318d01178f04488da49dfb04000200b2ffe7042105a00015002100b9403057156715 +7715971504670c770c0201ea0a0102180a01c80a010117090103381848180218140101880001 +02280e010308b8fff0404610133616001f9902020e1999080410991113990e13671c0102380b +480b0203780501020800010803164200890b050b150b02100210400e1036101c890540230b7c +0222057b022b2b011a18104dedc42b5f5e5d10fde55f5e5d5f5d5f5d5f5d003feddded3fed12 +392fedddcd2b5f5d5f5d3130015f5d5d005f715f5d715f5d5f5d5d0106232226353412333212 +111000232227371633321203340223220615141633323703737aa5b3efe5b5ddf8feddf4a478 +1a8a74a6c7049a7d7187896f997102a66be5b5c20109fe6cfec9fec9fe493291330142017abe +011fa7867b9d5e00000300a4ffe50423059e00170028003300f1407887020188080187040102 +982901552e01752e0103572e672e02582168210202571201071201082110101336000c082918 +2928295829040a032999371867180200181010133618180621996812010212042e9906132831 +01272b011703010307030107151715020809180902080f180f020d020c00241e8b15b8ffc040 +2a0f133615318903070317030210248b070f170f270f0314000f400f13360f2b8909403503d5 +023409d4022b2b011a18104dedd42b5f5e5ded5e5d10edd42bed1139395f5e5d5d5d5d5f5d5d +5d003fed3f5f5ded12392f2b5f5ded5f5e5d39392b5e5d715f5d5d5f5d715d3130015f5d5d00 +5d011e01151404232226353436372e0135343633321615140625323e0335342623220615141e +02170415141633323635342602f4909ffeffbcc5fda493758dd8b1afe590fefc05563d34208a +625f8831495f0efeeea670749f6e03062aca87c2e4e6be86cc2b1eab6a88dddc8967ad251823 +36492d607f825d3b58361e8c50dd819b9983639d000200f0ffe503b8059e00190025009c4064 +ca080103070601d706019816a81602010812101287060814060608e810f81002b702c7020210 +08120604170d0d1a0219950007021702020802179502041ab02013c705010306120810040d14 +85970501050005000c850d1daf482388239823e8230400232f5f5dedd4ed33332f2f5ded1217 +395f5d003fed3fed5f5e5ddded1112392f1217395d5d870e2e2b870e7dc43130015f5d005d71 +5f5d13363332161514070e021d012335343f013e013534262322071332161514062322263534 +36f0b18cbdcedf612b1a896f84403c8472679de135484934334847054e50aaa6acb950354c39 +3739ae6174366f3f686f4afc104835364d4d3636470000020100000004250583000a00120057 +4037181028100258106810781003010b93680878080200080809129300030912070417048704 +0308020e7d040b097f0a4014046e02130a6b022b2b011a18104dfd3c10ed5f5e5d003f3fed12 +392f5f5ded3130015f5d71012132161514062b0111231333203534262b0101000166cbf4f3c5 +c9a4a4b201219d7cba0583ccb3b4d7fd870308f2708a000101460000040a042b000f003f4011 +b70ec70e0200950107a50cb50cc50c030cb8ffe840130b0c360c0103950e100a0f081200090b +0885092ffd3c10c4003f3f3fedcddd2b5dcd10ed5d313001072623220e011511231133153633 +32040a3f674b45846f9b9b7dc77603f6962d4f9309fd5e0412d3ec0000020091ffe5043b042b +000b001700a7401d1802010217040101170e0103170801080601070001080212100d0e360cb8 +fff040300b0e36c81201c70c01f706010368060102080001f8000103670001129500100c9506 +13080f01f80f01071501f7150115b8fff040200d0e360f100d0e36a71501a80f01020f830319 +036902158309070901180966022b7110ed2b10ed5f5d5d2b2b5d715d71003fed3fed5d5f5d71 +5f5d5f5d5d5d2b2b5f5e5d5d3130715f715f715f710132121514022322023534121332363534 +262322061514160266d7fefed7d8fdfed78ea4a29091a0a2042bfed4f5f7fed2012df8f6012b +fc42f0abb4e8e5b7aeed000200d7fe64043b042b0010001c00b6401207030108039712019811 +010009100d103603b8fff040680d10368715a715b715c71504880c0102a709b7090203880901 +9803018703018700a700b7000302117800010100e11b9503100f0f12670c770c02000ce21595 +09130e1b6818a818b8180307061706c706030d188306080601160200120d850e401e0669021d +0e65022b2b011a18104dfd3c3c5f5e5d10ed5e5d5d003f3fedfd5f5dcd3f3fedfd5f5dcd5f5d +5d5d5d5f5d5f5d5d2b2b5f5d5d5f5e5d3130013e01333212151402232226271123113319011e +013332363534262322017334b162b4cdd7b661a9319c9c2c96507e958e7fa5038b4858fed7ee +f0fec16150fdce05aefedefe4f5876ecafb4e40000020091fe6403f6042b000f001c0088400a +d50d010305100d10360bb8fff0404b0d1036d81301d70b01d8050102c811e8110200110de113 +950b100e0f02e219950513001b071601b716f716025808010208080108030e11018500168308 +4007080116021e0068021d0866022b2b015f5e5d1a18104ded10fd3c3c5f5e5d5f5d5d71003f +3feded3f3fedfdcd5f5d5f5d5d5d2b2b5f5d31300123110e0123220235341233321735330311 +2623220615141633323e0103f69c30b363b3d0d8b4c5789c9c709e81968d7b3b786afe640232 +4d64013af3e90130a087fd2d01b1b4eab0b3e64080000000000100d5ffe703f804120010005c +b70a051a050208030bb8fff0402e1113360f070f0e0802011601022012143602e20410080c36 +0c95041301120e0185000985064012006802110665022b2b011a18104ded10fd3c003f3fed2b +fd2b5f5e5dcd3f3c3130012b015f5e5d212335062320190133111416333237113303f89ca8ba +fedb9c54648fa49c9ab3016302c8fd658583b202f1000000000101e5ffe502dd00e5000b0016 +400a00b0061303af09090d0c1112392fed003fed313025321615140623222635343602603548 +4934334847e54835364d4d363647000000010075fe6404290412001000cdb9000bfff0407408 +0c36080c01026701010c100a0c36080f010a0c01030c0c0d0f0f0e100b0b1010870002140000 +020c0c0b0e0f0e870d0c140d0d0c04100d0f36070f0101020b0901420c0f0c00100e0d0f0f0c +1207099540041b2800380002030b02010c0f0f0d1000080001090206060e0d12007702110d76 +022b2b01113333182f5f5e5d11331239192f333339395f5d00183f1a4dfdc63f333f3c3c3c12 +3910e51239395f5d2b87052e2b87087dc487052e182b0e7d10c407083c08c4313001015f5d5d +2b5d00005f5d2b09010e01232227371633323637013309010429fe7556a96c605e1a4c3c546c +37fe79aa012701270412fbeee6b6237d1882940410fcc1033f00000200d7ffe5043b05830010 +001c00d1b7e707010704010815b8fff0b31719360cb8fff0b317193600b8fff0401f17193687 +15010297120198110100080918098809039803018703c703020203b8fff040560d10360f0011 +850001037800010100e11b95031012880c0102670c770c02000ce2159509130e1268189818a8 +18b818040218100b0c3698060103070617062706c706040d0212000d850e188306401e066902 +1d0e65022b2b011a18104ded10fd3c3c5f5e5d5f5d2b5f5d003f3fedfd5f5d5f5dcd3fedfd5f +5d5f5dcd3f2b5f5d5d5d5f5d5d5f5d2b2b2b31305e5d5d013e01333212151402232226271523 +113319011e013332363534262322017334b162b6cbd8b561a9319c9c2c96507e958e7fa5038b +4858fedceef1febd6150960583fd6dfe4f5876f0afb4e00000000002012700000314059c000b +0011002a4016069e00010e95100f0d120390090f090f0c850d0d13121112392fed33332f2fed +003f3fed3fed313001321615140623222635343613231121352102aa2c3e3d2d293f3f759cfe +cd01cf059c3f2c2e3e412b2b40fa64038b87000000020091ffe503f60583000f001c008d401b +070a010802671c771c971c030188130103880201870b018805010bb8fff0403f0d103605100d +10360e001195870d010de113950b101002e21995051301126716a716b716030808010d0e1101 +85001683084007080116021e0068021d0866022b2b015f5e5d1a18104ded10fd3c3c5e5d5d00 +3f3fedfdcd3fedfd5ded3f2b2b5d5d5d5f5d5f5d31305f5e5d2123350e012322023534123332 +17113303112623220615141633323e0103f69c30b363b3d0d9b3c5789c9c709e81968d7b3b78 +6a964d64013ff5e5012da001f8fbbc01b1b4e5afb4eb4080000100f0ffe70404052f0014005e +403618032803020330080e3608030101071201f71201020e050905950b080f00951412950213 +0c00040a0f07090f850704010800040416151112392f5f5e5ded3cc4103c10d4c6003ffdd6ed +3f3cedcd103c5f5d713130015f5d002b00712506232019012335331133112115211114163332 +3704049d98fee9c8c8980162fe9e5448807d2f480127027d87011dfee387fdac5f6939000001 +00810000044c042b001f0079b9001effd0401b081036071e0102070f1a140c0414e20495171d +10120f100800121ab8ffe04016080f360085011a420801e308850913421009e3108511b8ffc0 +40100d1136071101071117112711030800112f5f5e5d712bede410e410ede410e510ed2b003f +3c3c3f3f3cede4103c103cdd3c31305f5d012b21231134232206151123113423220615112311 +33153e01333216173e01333211044c9c5c2f719b5d2e719c962c793c3f64132c7a3bbd02acf8 +ab09fd1002acf8ab09fd1004129d536363535363feae000000010100000003e10583000b003a +4022099306020106931b30059302030a93011207034200050a7f01400d006e020c016b022b2b +011a18104dfd3c10e4c4003fed3fed2b10ed313029011121152111211521112103e1fd1f02db +fdc90221fddf023d05838ffe4b8ffddf0000000100b0ffe503f6042b00150060403d97130102 +980d01030a950b0d9508100095681578158815030015139502130510151065107510040b030a +420010830540070501130217006802160566022b2b015f5e5d1a18104ded10e65f5e5d003ffd +d65f5ded3feddded5f5d5f5d31302506232200353400333217072623220615141633323703f6 +88a3f6fedb0127f09d8e298e72acc9d0a7848c233e012bf8f8012b378131debeaeed33000000 +000100f4000003ae058300070022401102950400069501120006030685010109081112392fed +c610cd003fed3fed3130290111213521112103aefe56fef001ac010e04fc87fb0400000300b2 +fe64044a042b0026003200420170406bb74101873101020a0d010308240101051a01b53501a5 +19b5190203573567350202182428240201151a251a0203c70dd70de70d03023e140f10360e18 +090c36550865080217330103a825b8250202d71b0103c711d711021527959825c82502020725 +01080025251b06113cb8ffc0b61416363c970538b8ffc0401d141636389706060c1b1d2d1f97 +1e422d951b1033950c1b11140f113620b8ffc440651113361814111136874097400287229722 +026811781188119811040f1014183657090102071f011f1d202a859722010822382268228822 +040a2218368509001530851840850f3c110f0285401842136813010809380948095809040f00 +44096902431365022b2b015f5e5d5d18104de41aedc4cd3210ed10edcd3210ed10d45e5d5ded +3939c65d5f5d2b5d5d5d2b2b2b003fed3fedf6ed12391112392fed2bd5ed2b391112392f5f5e +5d5f5ded395d5f5d5f5d5f71313001015d2b2b5f5d00005f5d5f5d5f5d5f5d5d5d5f5d5f5d5f +5d5d010615141633253216151404232226353437263534372e01353436333217251523161514 +06232237323635342623220615141613323635342322070623220e0115141601f892433a015f +7d8bfec4d3addcaa8db6545ac8966c570135c72dc6982020566d6a59537171599ad99a337d4f +2d165d3188018947361d280a7a70b1d291737d5642606e5f33a25a93bd2d2f984f6b8ec47977 +60657277605e79fcdd89656806044849273d5700000201dfffe502d7058300050011003b4010 +02020406b00c1304030102050409af0fb8ffc0400d1d21360f057d40041213047d182b01182f +1a4dedd42bed11123939003f3fed11392f313001032303113303321615140623222635343602 +b02f562fb4563548493433484703b8fdf0021001cbfb624835354e4d3636470000000002007f +fefc046f059e0015001f009a40690330090c36871b01081a181ac81ad81a0407161716c716d7 +16040b170c270c370c670c04180628063806680604d80201021a930c0415139307021702020c +0002110416930613081801071d011107111711021702117f04040900187d0f1d7d0940210f6f +0220096c022b2b011a18104ded10edc612392fed5f5e5d5e5d5d003fed3939d45f5e5dfdc63f +ed5f5d5d5d5e5d5d3130015d002b050623222706232202111012333212111005163332372520 +1110212202111012046f5755dc41271becf9f8ededf9fefc25683a45fe120138fec8989f9ee9 +1bf0070177016501650178fe89fe9afdf89c920fdb024c024dfecffee4fee1fed30000000001 +00ac0000042d0583000c0118b50a460a0a3603b8ffe2400e090a3604140a0a360b28080e3609 +b8ffd8b30a0e3609b8ffecb309093609b8ffd840900808360709010902040a0338030b0a0b82 +02031402020304090a0982050414050504040a03370a30141736570a013a0a4a0a02020a0503 +68040137044704020004040102ca05010315050102050b09030701120b0302090405550a650a +0203070a170a0208010a0a07027f0038006800025800980002057f074017073707020707d707 +e707030a000e006e020d076b022b2b015f5e5d711a18104ded5d7110ed1239192f5f5e5d5f5d +12393912393900183f3c3f3cdd5f5d5f5d3c12392f5f5d5d3c12395f5d5d2b2b87052e184d2b +877dc4872e182b877dc42b3130015f5e5d012b2b2b2b2b2b002b212311032303112311331b01 +33042d9ed59bd59ed5ecebd504bafdbd0243fb460583fd7d0283000100cb000003ec04120009 +005e403a03080708870203140202036707870797070308021802680288029802050901070395 +060f02089540011200000307040408020b0768020a0265022b2b01113333182f1133332f003f +1a4ded393fed395f5e5d5d87052e2b877dc431302901350121352115012103ecfcdf0252fdbc +0313fdae0252540335894dfcc4000001013301e70385027f0003000db401d90203022fcd002f +ed3130012135210385fdae025201e798000100620000046d0583000700264013010493060303 +12000206027f40030809037f182b01182f1a4dedc410c6003f3ffd3c31300121112311213521 +046dfe4da3fe4b040b04fefb0204fe85000101b8fed903be059c000d003c4023480701480101 +0001080704070401f70401010700080b7d5804010237040128040100042f5f5d5d5f5dedd43c +32325d71003f33c4323130017171050726023534123717060215101203be3ddfeae8e13db7a1 +a7d156a901c0f9fb01bda956a4fe99fefef9fe99000000030093ffe50435059e000b00170023 +00c8408a980501970b019707010398050102980101781e01771801271801e718010308121812 +02070c170c020b080618060207001700020d021ed71840120c18d76430129900040c99061338 +2178210228215821a821b821f8210508211821482158216821a821b821e821080b001bd72140 +150f21d764300f8903158909400703170302100025037c0224097b022b2b015f5e5d1a18104d +ed10ed2b011a18104ded5f5e5d7172003fed3fed2b001a18104ded5f5e5d5d5e5d5d5f5d7172 +723130015d5f5d5f5d5d005d0132121110022322021110121332121110022322021110121332 +161514062322263534360264e0f1eae7dff2ebe6948f8f9492908f8f3f57583e3d5755059efe +7ffea4feaffe750180015c0152018bfad70119013301340117fee2fed3fecffee502e2573f41 +5d5d4140560000000001010efed90314059c000d0046402a57060157000107060d0004080318 +03020600070d070a7d180348030202079703018803010008030108032f5e5d5f5d5dc45f5ded +103c11333371003f33c43231300171710116121514020727361235100227014ce0e8e9df3eb7 +a1a6b2059ca9fe43fbf9fe40a956a2016dff01070162a00000000001007fffe5042d059e0019 +00704044180328038803030217930818010a181802080b93270c01000c0e9308041500139302 +13171711160b167f00117d054057056705020205051505020b031b006e021a056c022b2b015f +5e5d5f5d1a18104ded10edc41112392f003fed33323feddd5f5ded1112392f5e5ded31305f5d +2506232000111000213216170726232202111021323711233521042dadd2feedfee40113011c +66c83d368da8c2bf0181914afe01a2647f01750167015b0182342b8150fee4fecffdb43d015c +8e000001003500000493058300060097405b0205013805060504068100011400000105040506 +04810302140303020205013700060403030501a802b80202020212c80001070301c703f70302 +0102180001030505030600180001000800010403070301080208007702070376022b2b015f5e +5d11335d5f5d11331239192f5f5d33335d715d00183f5f5d3c333f3c3c3c2b87052e184d2b08 +7d10c487052e182b087d10c42b3130090123013309010493fe34c5fe33ac018301850583fa7d +0583fb3b04c50000ffff00aaffe5041905ba02360006000001060034f8000013400b021b1126 +02001b1d0c0025012b35002b3500ffff01270000036205ba02360035000001060034ef000013 +400b0107112601000809040525012b35002b3500000100910000041f0412000b00aa40620808 +090b000b0a00070202030506050406010808070504050604090202010b0a0b000a0301070007 +8706011406060109030a038704091404040908050b0204000a0907060f04030100120b080205 +04040901000a0007030406040d0069020c0466022b2b01103c113333103c1133331217390018 +3f3c3c3c3f3c3c3c12173987052e4d2b877dc4872e182b877dc40708103c08c40708103c08c4 +070810c408c40708103c08c43130212309012309013309013301041fb0fee9fedfa60173fe8d +b30118011da6fe8f0198fe68020a0208fe6b0195fdfe0000000100cd000003d5059e0016008d +405a87100103070f170f0208680701150302038e141514141415770e870e0207020102080218 +02280258020401140309150c990b09990e040215990112880698060203140306020006890811 +381102110c150c1103070267020200022f5f5d17332f2f5dedc4111239395f5d003fed393fed +dded111239395f5d5f715d870e2e2b87057dc43130005d5e5d5f5d290135003e013534262322 +07273633321615140e01012103d5fcf80127b06e8f8163a71797a5bde777bafef30252770149 +e0f67a76883d8d40d5b27ffae6fed700000100e1ffe503e70583001a006f4045070317030208 +02650401030016021513990202081a9917030a99680b01000b0d990813481058100202181089 +08051805680503050a050a15008b07162716471667160400162f5f5ded3933332f2f5dedc45f +5d003feddd5f5ded3fed12392ffdc61139393130015f5d005f5e5d0136333216151400232227 +3716333236353426232207271121152101b24441c8e8fef2c2b97d218891819f967656546202 +85fe0a034a12f5b7c0fef53e8b39a6958d98212d02a28f0000000001008d00f8043f04ae000b +002b401603e4010408e404be0a0700e40902bd06e40803030d0c1112392f3ce4fd3ce6002f3c +eded103ced3130012111231121352111331121043ffe6b83fe66019a8301950291fe67019983 +019afe6600020062ff5e04790596002f003b013140bfa709b70902029707010313200d113697 +3301a831013b3030311a1b1a191b101c1e1ec8101b1410101b072de72d021827010827010878 +0e010277080115080178020103180201021e1c101221cb0e38cb0e371247120212122d18301a +321c1b32cb38180118182d2700cb2f2dc7a80201000227c70804072a472a572a872ab72ac72a +e72a0702c82401037824012408171936781b01021b20121736070bb70b0203000b1e1b1c0310 +102435c8c815d8150200152a24c6880b01020b3d2ac605b8ffc0b30b0e36052f2bed10d65f5d +ed10d65f5ded12392f173310c45f5d2b5f5d2b5d5f5d5f5d003fedd45f5deddded1112392f5d +edd43c1139331112392f5d3ced10ed113311395f5d5f5d5d5d5f5d5e5d715d870e2e2b057d10 +c40708103c08c40ec43130015d5d002b005f5d5f5d0506232200111000333200111402232227 +0623222635341233321737330215141633323635100223220211101233323703262322061514 +163332363703c997aff2fed1012bf2e0011ab993651c39694c66ad803235047d3c1712436fd8 +b5c2eef1c3a18ed51e3452623226394a024e54018b014e019101cefe93fecbe7fed27777a081 +ca010f2519fde5271b24efb901080133fe6afe9efee4feac45033c25c09f5b676e1700000002 +0079000004310583000a000d005b4035070d0c0d8d060714060607170c0101370c470c020206 +090d99010505030c070303120001088b0407980c010c0c0d070617060200062f5f5d33332f5d +333cfd3cc4003f3f3312392f3cfd3c395f5d5f5d87052e2b877dc43130012311231121350133 +11332111010431aea4fd9a022dddaefeaefe400146feba01467d03c0fc52030cfcf400000001 +00c70000040c058300060046402b030100018102031402020300039905030102120308001800 +020000010207051705270587059705050800052f5f5e5dc432322f5d33003f3c3fed3987052e +2b877dc4313009012301213521040cfdd1a80227fd6b0345050efaf204f48f000000000100c7 +ffe503db059e002500b4404d072187210202d713e71302e8120103001299d713010813010813 +13061f1d99071c01671c01001c1a99671f01021f040899090b990613a817b817c817034a1701 +03380e480e0267228722020222b8fff8b30e123603b8fff0401f0e103600221212081789220e +8987030108030103c71d011d031d07080100082f5f5d33332f5d2f5d5dedd4ed12392f11332b +2b5f5d5d5f5d5d003feddded3f5f5deddd5f5d71ed1112392f5e5d5ded395f5d5d3130015f5d +011e0115140423222737163332363534262b0135333236353426232207273633321615140607 +02be819cfedec5a885208b8880b5c2a02b0c9ac8907e6d8716888abdf5956902f624bf77bafd +4a87419f7d7b9a87917b64713b8d3ec79c6cbb180000000101cb048d037305ba0003001cb403 +e8800200b8ffe8b6111336030100022fcd39392b002f1aed3130090123130373fec870c605ba +fed3012d000000010127000002f604120005001b400d0395040f011203008501010706111239 +2fedc6003f3fed313021231121352102f69cfecd01cf038b8700000000000002000300000000 +001400010000000000340004002000000004000400010000f035ffff0000f000ffff10000001 +00000000000600760000000000360000000100020003000400050006000700080009000a000b +000c000d000e000f0010001100120013001400150016001700180019001a001b001c001d001e +001f0020002100220023002400250026002700280029002a002b002c002d002e002f00300031 +0032003300340035000005830019000005830019000000000000000004b00019000000000000 +00000412001900000000ffe700000000ffe700000000ffe70000fe640000000000000000feaa +0000000000000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000080000000800000000000000 +000000000000000000000000000000000000000000000000000000000000000000a4009c0000 +0000000000000000000000000000000000000000000000d500910096ff2bff6fff6a00d10081 +005cff2fff7fffa4000000000000005fffa10037ffc90000000000000095ff6b00ae000000a4 +0000009b008b00a30000009c00000091008500ae000000a4000000840078000000d400000000 +0090000000870000009e00000091000000000000000000d4000000f000000000000000000000 +00000000000000000000000000000000000000fa00fa0000000000d500000000000000000000 +000000000000000000830083008300bf00bf008a0082017d004e006d006d007f00000000006a +0000000000000000000000000000000000a6ff5a0000012a0000009800540079006a01970000 +008dff7300a000b10197019a069101860048012d009002360079029c007500ae003e00af00cd +0075ff8b0032ffce00adff53ffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffff0066006f0077003300290055004b0050007d00a000cd003e010a0046008c00b700820096 +fffffe42403b3a393837363534333231302f2e2d2c2b2a292827262524232221201f1e1d1c1b +1a191817161514131211100f0e0d0c0b0a090807060504030201002c01b0184358456ab01943 +60b0462344231020b0464ef04d2fb000121b21231133592d2c01b0184358b0052bb000134bb0 +145058b100403859b0062b1b21231133592d2c01b01843584eb0032510f221b000124d1b2045 +b00425b00425234a6164b0285258212310d61bb0032510f221b0001259592d2cb01a43582121 +1bb00225b0022549b00325b003254a612064b01050582121211bb00325b0032549b0005058b0 +005058b8ffe238211bb0103821591bb0005258b01e38211bb8fff03821595959592d2c01b018 +4358b0052bb000134bb0145058b90000ffc03859b0062b1b21231133592d2c4e018a10b14619 +4344b00014b10046e2b00015b90000fff03800b0003cb0282bb0022510b0003c2d2c0118b000 +2fb00114f2b00113b001154db000122d2c01b0184358b0052bb00013b90000ffe038b0062b1b +21231133592d2c01b018435845646a23456469b01943646060b0462344231020b046f02fb000 +121b2121208a208a525811331b212159592d2c01b10b0a432343650a2d2c00b10a0b4323430b +2d2c00b0462370b101463e01b0462370b10246453ab10200080d2d2cb0122bb0022545b00225 +456ab0408b60b0022523442121212d2cb0132bb0022545b00225456ab8ffc08c60b002252344 +2121212d2cb000b0122b2121212d2cb000b0132b2121212d2c01b00643b00743650a2d2c2069 +b04061b0008b20b12cc08a8cb8100062602b0c642364615c58b00361592d2cb1000325456854 +b01c4b505a58b0032545b0032545606820b004252344b0042523441bb00325204568208a2344 +b00325456860b003252344592d2cb00325204568208a2344b003254564686560b00425b00160 +23442d2cb00943588721c01bb01243588745b0112bb0472344b0477ae41b038a45186920b047 +23448a8a8720b0a05158b0112bb0472344b0477ae41b21b0477ae4595959182d2c208a452345 +6860442d2c456a422d2c01182f2d2c01b0184358b00425b00425496423456469b0408b6120b0 +80626ab00225b00225618cb0194360b0462344218a10b046f6211b21212121592d2c01b01843 +58b0022545b002254564606ab00325456a6120b00425456a208a8b65b0042523448cb0032523 +4421211b20456a4420456a44592d2c012045b00055b018435a584568234569b0408b6120b080 +626a208a236120b003258b65b0042523448cb00325234421211b2121b0192b592d2c018a8a45 +642345646164422d2cb00425b00425b0192bb0184358b00425b00425b00325b01b2b01b00225 +43b04054b0022543b000545a58b003252045b040614459b0022543b00054b0022543b040545a +58b004252045b04060445959212121212d2c014b525843b00225452361441b2121592d2c014b +525843b00225452360441b2121592d2c4b525845441b2121592d2c0120b003252349b04060b0 +206320b000525823b002253823b002256538008a63381b212121212159012d2c4b505845441b +2121592d2c01b005251023208af500b0016023edec2d2c01b005251023208af500b0016123ed +ec2d2c01b0062510f500edec2d2c462346608a8a462320468a608a61b8ff8062232010238ab1 +4b4b8a70456020b0005058b00161b8ffba8b1bb0468c59b0106068013a2d2c2045b003254652 +58b0022546206861b00325b003253f2321381b2111592d2c2045b00325465058b00225462068 +61b00325b003253f2321381b2111592d2c00b00743b006430b2d2c8a10ec2d2cb00c4358211b +2046b0005258b8fff0381bb0103859592d2c20b0005558b8100063b003254564b00325456461 +b0005358b0021bb04061b00359254569535845441b2121591b21b0022545b00225456164b028 +515845441b212159592d2c21210c6423648bb84000622d2c21b08051580c6423648bb8200062 +1bb200402f2b59b002602d2c21b0c051580c6423648bb81555621bb200802f2b59b002602d2c +0c6423648bb84000626023212d2c4b5358b00425b00425496423456469b0408b6120b080626a +b00225b00225618cb0462344218a10b046f6211b218a11231220392f592d2cb00225b0022549 +64b0c05458b8fff838b008381b2121592d2cb0134358031b02592d2cb0134358021b03592d2c +b00a2b2310203cb0172b2d2cb00225b8fff038b0282b8a102320d023b0102bb0054358c01b3c +59201011b00012012d2c4b53234b515a58381b2121592d2c01b0022510d023c901b00113b000 +1410b0013cb001162d2c01b00013b001b0032549b0031738b001132d2c4b53234b515a582045 +8a60441b2121592d2c20392f2d0000010000000200004697a8255f0f3cf5000b080000000000 +af2e0c8d00000000b26f91820000fe4104cd07f6000000080001000000000000000100000742 +fe42000004cd0000000004cd00010000000000000000000000000000003604cd00d804cd0039 +04cd00d704cd01ee04cd000004cd00e904cd00aa04cd008704cd00d704cd00d704cd011404cd +00b204cd00a404cd00f004cd010004cd014604cd009104cd00d704cd009104cd00d504cd01e5 +04cd007504cd00d704cd012704cd009104cd00f004cd008104cd010004cd00b004cd00f404cd +00b204cd01df04cd007f04cd00ac04cd00cb04cd013304cd006204cd01b804cd009304cd010e +04cd007f04cd003504cd00aa04cd012704cd009104cd00cd04cd00e104cd008d04cd006204cd +007904cd00c704cd00c704cd01cb04cd01270000001e00a200f20128012801ee025402b4034c +039403da046e053205b80604064006bc074607ba0806082808b2094a098009f40a460ab20ae8 +0b3e0b620c780cb80d3e0de40e2a0e3e0e640ea00f440f860fec104e1064107a10ee115c11c0 +11ee12e2132e136613f8141614340000000100000036012200490051000500020010001b003b +0000020f06b70003000240f2dfe016171cd4d516171c7b7c161b7b7c1910d474d484d4d4d4e4 +d4051076407650766f7604d1d216171c767716171c6d7016171c6c6f16171c6b6e161b09006b +01084f6e5f6edf6eef6eff6e05006ba06bb06b030f6e016b6e7f721af6f714151cf4f514151c +f2f314151c747514151c676a14151c666914151c6568141b00f6c0f6023f684f685f68030065 +8065c06503df68ef68ff68032065406570659065040900650108656885711a1973167a431921 +794319210fe55fe502b0ec019e90111f3fb001ee93171fd9be321f9993052b9493042b929303 +2b91930a2b9395012b9798042b9895032b9695032b20ef273139410a0130012f0050001f0134 +012e002f001f012d012e401e2f1f90d7a0d7028e8d321f8d8b321f898b321f8b85321f598801 +c1c0042bb8ffc040c0c0101339b0eac0ea027fe38fe30290853a1f817f082b7d7f082b7f8507 +2baf85191f8785002b8485042b8385042b8085011b37151836151535151234150f33150c3215 +093115063015032f15002e1526270e28270f2a2b0e2c2b0f22230e24230f1e1f0e201f0f2005 +1823390f10110c0c0d0e0c090a0b0c0607080c0304050c0001020c0f03cf03020f00cf000204 +012c1f1b011d0d18071a0d1510170d1204140d200f293639200c293639200929363920062936 +3920032936392000293639b8ffe0b310293639b8ffe0b30d293639b8ffe0b30a293639b8ffe0 +b307293639b8ffe0b304293639b8ffe0b501293639503301b0124b004b5442b013014b004b53 +42b0332b4bb8032052b0322b4bb008505b58b101018e59b0332bb00288b8010054b00488b802 +0054b012435a5b58b80119b101018e851bb900010100b04b60858d592b1db0644b5358b0801d +59b0324b5358b0901d59002b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b73732b2b2b2b2b2b2b2b +2b2b2b2b2bb1282645b02a4561b02c4560442b2b2b2b2b2b2b2b2b2b2b2b01742b2b2b2b2b2b +2b2b73732b2b752b2b2b2b732b2b2b2b002b2b2b2b2b2b2b2b2b2b732b7373012b2bb018b023 +4b53422b2b5e735e74737373732b2b2b2b2b2b2b2b7473735e735e2b2b2b2b2b73732b2b2b2b +b109322b4bb05052424bb008524bb008505bb01a23424bb0c8524bb036505bb00c23420000> +] def +/f-1-0 currentdict end definefont pop +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 0 -1 487 216 +%%EndPageSetup +q 0 -1 487 217 rectclip q +0 215.75 487 -216 re W n +0.776471 0.913725 0.686275 rg +402.168 116.391 6.723 -8.535 re f +436.715 104.875 5.914 -9.141 re f +1 0.835294 0.835294 rg +436.914 128.937 5.914 -9.145 re f +402.07 139.723 6.723 -8.535 re f +0.141176 0.133333 0.109804 rg +BT +11.2 0 0 11.2 0 207.595972 Tm +/f-0-0 1 Tf +[<0102>1<0304030506>-1<07>]TJ +ET +0.666667 0 0 rg +BT +9.6 0 0 9.6 0 180.940544 Tm +/f-1-0 1 Tf +[<0102>1<0304>1<0506>1<0407>1<0804>1<0609>1<040a>1<0b0c>1<0a0d>]TJ +ET +BT +9.6 0 0 9.6 0 168.940544 Tm +/f-1-0 1 Tf +[<0e06>1<0f10>1<0411>1<100f>1<0412>1<1306>1<0d14>1<1414>]TJ +ET +BT +9.6 0 0 9.6 0 156.940544 Tm +/f-1-0 1 Tf +[<0102>1<0304>1<1110>1<0f12>1<1306>1<0415>1<0804>1<0208>1<1617>1<08>]TJ +ET +BT +9.6 0 0 9.6 0 144.940544 Tm +/f-1-0 1 Tf +[<0517>1<1810>1<0418>1<0619>1<060f>1<1a17>1<0908>1<1810>1<14>]TJ +ET +BT +9.6 0 0 9.6 0 132.940544 Tm +/f-1-0 1 Tf +[<1b09>1<1910>1<091c>1<0605>1<0412>1<1317>1<060f>1<0604>1<1806>1<1c17>1<0f>]TJ +ET +BT +9.6 0 0 9.6 0 120.940544 Tm +/f-1-0 1 Tf +[<1213>1<0604>1<110f>1<1009>1<1910>1<0407>1<081a>1<1005>1<0408>1<0406>1<1d +06>1<1e17>1<0f>]TJ +ET +BT +9.6 0 0 9.6 0 108.940544 Tm +/f-1-0 1 Tf +[<110f>1<0605>1<1718>1<0609>1<1906>1<0409>1<1306>1<0710>1<0409>1<1005>1<10 +19>1<1414>1<14>]TJ +ET +BT +9.6 0 0 9.6 0 96.940544 Tm +/f-1-0 1 Tf +[<0102>1<0304>1<1d10>1<0407>1<0809>1<0408>1<0406>1<1d06>1<1e17>1<0f04>1<06 +09>1<041d>1<08>]TJ +ET +BT +9.6 0 0 9.6 0 84.940544 Tm +/f-1-0 1 Tf +[<1414>1<1404>1<0102>1<1f04>1<2013>1<1706>1<0f06>1<0412>1<1306>1<041d>1<06 +04>1<1817>1<1e08>1<0d>]TJ +ET +BT +9.6 0 0 9.6 0 72.940544 Tm +/f-1-0 1 Tf +[<2113>1<1504>1<1617>1<0609>1<0411>1<0609>1<0508>1<1810>1<0304>1<1110>1<0f +12>1<1306>]TJ +ET +BT +9.6 0 0 9.6 0 60.940544 Tm +/f-1-0 1 Tf +[<1c08>1<1808>1<0407>1<0622>1<0412>1<1306>1<041d>1<1004>1<061d>1<061e>1<17 +1a>1<1005>]TJ +ET +BT +9.6 0 0 9.6 0 48.940544 Tm +/f-1-0 1 Tf +[<0910>1<0510>1<190f>1<1005>1<0409>1<1004>1<1813>1<0f08>1<0904>1<0908>1<18 +08>1<1f>]TJ +ET +BT +9.6 0 0 9.6 0 24.940544 Tm +/f-1-0 1 Tf +[<2323>1<0424>1<0819>1<1004>1<250a>1<0b0c>1<2627>]TJ +ET +BT +9.6 0 0 9.6 0 12.940544 Tm +/f-1-0 1 Tf +[<0404>1<0428>1<1016>1<1706>1<0f09>1<1004>1<1806>1<0429>1<1718>1<061d>1<08>]TJ +ET +0.141176 0.133333 0.109804 rg +BT +11.2 0 0 11.2 166.29933 207.595972 Tm +/f-0-0 1 Tf +[<0809>-1<0a0b>-3<0c>]TJ +ET +0 0.501961 0 rg +BT +9.6 0 0 9.6 166.29933 180.940544 Tm +/f-1-0 1 Tf +[<0102>1<0304>1<0506>1<0407>1<0804>1<0609>1<040a>1<0b0c>1<0a0d>]TJ +ET +BT +9.6 0 0 9.6 166.29933 168.940544 Tm +/f-1-0 1 Tf +[<0e06>1<0f10>1<0411>1<100f>1<0412>1<132a>1<0d14>1<1414>]TJ +ET +BT +9.6 0 0 9.6 166.29933 156.940544 Tm +/f-1-0 1 Tf +[<0102>1<0304>1<1110>1<0f12>1<1306>1<0415>1<0804>1<0208>1<162b>1<08>]TJ +ET +BT +9.6 0 0 9.6 166.29933 144.940544 Tm +/f-1-0 1 Tf +[<0517>1<1810>1<0418>1<0619>1<060f>1<1a17>1<0908>1<1810>1<14>]TJ +ET +BT +9.6 0 0 9.6 166.29933 132.940544 Tm +/f-1-0 1 Tf +[<1b09>1<1910>1<091c>1<0605>1<0412>1<1317>1<060f>1<0604>1<1806>1<1c17>1<0f>]TJ +ET +BT +9.6 0 0 9.6 166.29933 120.940544 Tm +/f-1-0 1 Tf +[<1213>1<0604>1<110f>1<1009>1<1910>1<0407>1<081a>1<1005>1<0408>1<0406>1<1d +06>1<1e17>1<0f>]TJ +ET +BT +9.6 0 0 9.6 166.29933 108.940544 Tm +/f-1-0 1 Tf +[<110f>1<0605>1<1718>1<0609>1<1906>1<0409>1<1306>1<0710>1<0409>1<1005>1<10 +19>1<1414>1<14>]TJ +ET +BT +9.6 0 0 9.6 166.29933 96.940544 Tm +/f-1-0 1 Tf +[<0102>1<0304>1<0910>1<0510>1<190f>1<1005>1<0409>1<100d>]TJ +ET +BT +9.6 0 0 9.6 166.29933 84.940544 Tm +/f-1-0 1 Tf +[<0102>1<0304>1<1d10>1<0407>1<0809>1<0408>1<0406>1<1d06>1<1e17>1<0f04>1<06 +09>1<041d>1<08>]TJ +ET +BT +9.6 0 0 9.6 166.29933 72.940544 Tm +/f-1-0 1 Tf +[<1414>1<1404>1<0102>1<1f04>1<2013>1<1706>1<0f06>1<0412>1<1306>1<041d>1<06 +04>1<1817>1<1e08>1<0d>]TJ +ET +BT +9.6 0 0 9.6 166.29933 60.940544 Tm +/f-1-0 1 Tf +[<2113>1<1504>1<1617>1<0609>1<0411>1<0609>1<0508>1<1810>1<0304>1<1110>1<0f +12>1<1306>]TJ +ET +BT +9.6 0 0 9.6 166.29933 48.940544 Tm +/f-1-0 1 Tf +[<1c08>1<1808>1<0407>1<0622>1<0412>1<1306>1<041d>1<1004>1<061d>1<061e>1<17 +1a>1<1005>]TJ +ET +BT +9.6 0 0 9.6 166.29933 36.940544 Tm +/f-1-0 1 Tf +[<0910>1<0510>1<190f>1<1005>1<0409>1<1004>1<1813>1<0f08>1<0904>1<0908>1<18 +08>1<1f>]TJ +ET +BT +9.6 0 0 9.6 166.29933 12.940544 Tm +/f-1-0 1 Tf +[<2323>1<0424>1<0819>1<1004>1<250a>1<0b0c>1<2627>]TJ +ET +0.141176 0.133333 0.109804 rg +BT +11.2 0 0 11.2 333.217519 207.595972 Tm +/f-0-0 1 Tf +<0d030e0e>Tj +ET +0.4 g +BT +9.6 0 0 9.6 333.217519 180.940544 Tm +/f-1-0 1 Tf +[<2323>1<2304>1<080f>1<1c02>1<1707>1<100a>1<1419>1<2c19>1<042d>1<260a>1<0a +23>1<262e>1<1414>1<14>]TJ +ET +BT +9.6 0 0 9.6 333.217519 168.940544 Tm +/f-1-0 1 Tf +[<2f2f>1<2f04>1<080f>1<1c02>1<1707>1<102d>1<1419>1<2c19>1<042d>1<260a>1<0a +23>1<262e>1<1414>1<14>]TJ +ET +0 0.266667 0.666667 rg +BT +9.6 0 0 9.6 333.217519 156.940544 Tm +/f-1-0 1 Tf +[<3030>1<0423>1<0a03>1<3104>1<2f0a>1<0331>1<0430>1<30>]TJ +ET +0 g +BT +9.6 0 0 9.6 333.217519 144.940544 Tm +/f-1-0 1 Tf +[<0401>1<0203>1<0405>1<0604>1<0708>1<0406>1<0904>1<0a0b>1<0c0a>1<0d>]TJ +ET +0.666667 0 0 rg +BT +9.6 0 0 9.6 333.217519 132.940544 Tm +/f-1-0 1 Tf +[<230e>1<060f>1<1004>1<1110>1<0f04>1<1213>1<060d>1<1414>1<14>]TJ +ET +BT +9.6 0 0 9.6 333.217519 120.940544 Tm +/f-1-0 1 Tf +[<2301>1<0203>1<0411>1<100f>1<1213>1<0604>1<1508>1<0402>1<0816>1<1708>]TJ +ET +0 0.501961 0 rg +BT +9.6 0 0 9.6 333.217519 108.940544 Tm +/f-1-0 1 Tf +[<2f0e>1<060f>1<1004>1<1110>1<0f04>1<1213>1<2a0d>1<1414>1<14>]TJ +ET +BT +9.6 0 0 9.6 333.217519 96.940544 Tm +/f-1-0 1 Tf +[<2f01>1<0203>1<0411>1<100f>1<1213>1<0604>1<1508>1<0402>1<0816>1<2b08>]TJ +ET +0 g +BT +9.6 0 0 9.6 333.217519 84.940544 Tm +/f-1-0 1 Tf +[<0405>1<1718>1<1004>1<1806>1<1906>1<0f1a>1<1709>1<0818>1<1014>]TJ +ET +0 0.266667 0.666667 rg +BT +9.6 0 0 9.6 333.217519 72.940544 Tm +/f-1-0 1 Tf +[<3030>1<0423>1<3203>1<2d04>1<2f32>1<0333>1<0430>1<30>]TJ +ET +0 g +BT +9.6 0 0 9.6 333.217519 60.940544 Tm +/f-1-0 1 Tf +[<0411>1<0f06>1<0517>1<1806>1<0919>1<0604>1<0913>1<0607>1<1004>1<0910>1<05 +10>1<1914>1<1414>]TJ +ET +0 0.501961 0 rg +BT +9.6 0 0 9.6 333.217519 48.940544 Tm +/f-1-0 1 Tf +[<2f01>1<0203>1<0409>1<1005>1<1019>1<0f10>1<0504>1<0910>1<0d>]TJ +ET +0 g +BT +9.6 0 0 9.6 333.217519 36.940544 Tm +/f-1-0 1 Tf +[<0401>1<0203>1<041d>1<1004>1<0708>1<0904>1<0804>1<061d>1<061e>1<170f>1<04 +06>1<0904>1<1d08>]TJ +ET +0 0.266667 0.666667 rg +BT +9.6 0 0 9.6 333.217519 24.940544 Tm +/f-1-0 1 Tf +[<3030>1<0423>1<0a31>1<032d>1<042f>1<0a2e>1<0430>1<30>]TJ +ET +0 g +BT +9.6 0 0 9.6 333.217519 12.940544 Tm +/f-1-0 1 Tf +[<0423>1<2304>1<2408>1<1910>1<0425>1<0a0b>1<0c26>1<27>]TJ +ET +0.666667 0 0 rg +BT +9.6 0 0 9.6 333.217519 0.940544 Tm +/f-1-0 1 Tf +[<2304>1<0404>1<2810>1<1617>1<060f>1<0910>1<0418>1<0604>1<2917>1<1806>1<1d +08>]TJ +ET +0.701961 g +0.829136 w +0 J +0 j +[] 0.0 d +4 M q 1 0 0 -1 0 215.749878 cm +158.984 11.383 m 158.984 214.551 l S Q +0.829135 w +q 1 0 0 -1 0 215.749878 cm +326.641 12.578 m 326.641 215.75 l S Q +Q Q +showpage +%%Trailer +count op_count sub {pop} repeat +countdictstack dict_count sub {end} repeat +cairo_eps_state restore +%%EOF diff --git a/charla_scm_exactas/diff.pdf b/charla_scm_exactas/diff.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2abb7ce0a23c53592e3addf2dc341cb734d12dab GIT binary patch literal 24793 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 + + + + + + + + + image/svg+xml + + + + + + + + + + + OriginalAh, se va en 1981?Pero por que?...Ah, porque ya habiasido determinado.Entonces quiere decirque pronto vamos a elegirpresidente nuevo nosot...Ah, lo van a elegir en la... Ah! Quiere que le diga?Muy bien pensado, porquecada vez que lo elegimosnosotros no duran nada!-- Tato (1980) Gobierno de Videla + NuevoAh, se va en 1981?Pero por qué?...Ah, porque ya habíasido determinado.Entonces quiere decirque pronto vamos a elegirpresidente nuevo nosot...Ah, nosotros no?Ah, lo van a elegir en la... Ah! Quiere que le diga?Muy bien pensado, porquecada vez que lo elegimosnosotros no duran nada!-- Tato (1980) + Diff--- archivo1.txt 2011-05...+++ archivo2.txt 2011-05...@@ -1,4 +1,4 @@ Ah, se va en 1981?-Pero por que?...-Ah, porque ya habia+Pero por qué?...+Ah, porque ya había sido determinado.@@ -7,2 +7,3 @@ presidente nuevo nosot...+Ah, nosotros no? Ah, lo van a elegir en la@@ -14,2 +15 @@ -- Tato (1980)- Gobierno de Videla + + + + diff --git a/charla_scm_exactas/merge.eps b/charla_scm_exactas/merge.eps new file mode 100644 index 0000000..9b40b36 --- /dev/null +++ b/charla_scm_exactas/merge.eps @@ -0,0 +1,1406 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: cairo 1.10.2 (http://cairographics.org) +%%CreationDate: Fri May 20 01:45:28 2011 +%%Pages: 1 +%%BoundingBox: 0 -1 592 404 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%EndComments +%%BeginProlog +/cairo_eps_state save def +/dict_count countdictstack def +/op_count count 1 sub def +userdict begin +/q { gsave } bind def +/Q { grestore } bind def +/cm { 6 array astore concat } bind def +/w { setlinewidth } bind def +/J { setlinecap } bind def +/j { setlinejoin } bind def +/M { setmiterlimit } bind def +/d { setdash } bind def +/m { moveto } bind def +/l { lineto } bind def +/c { curveto } bind def +/h { closepath } bind def +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto + 0 exch rlineto 0 rlineto closepath } bind def +/S { stroke } bind def +/f { fill } bind def +/f* { eofill } bind def +/n { newpath } bind def +/W { clip } bind def +/W* { eoclip } bind def +/BT { } bind def +/ET { } bind def +/pdfmark where { pop globaldict /?pdfmark /exec load put } + { globaldict begin /?pdfmark /pop load def /pdfmark + /cleartomark load def end } ifelse +/BDC { mark 3 1 roll /BDC pdfmark } bind def +/EMC { mark /EMC pdfmark } bind def +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def +/Tj { show currentpoint cairo_store_point } bind def +/TJ { + { + dup + type /stringtype eq + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse + } forall + currentpoint cairo_store_point +} bind def +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def +/Tf { pop /cairo_font exch def /cairo_font_matrix where + { pop cairo_selectfont } if } bind def +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point + /cairo_font where { pop cairo_selectfont } if } bind def +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def +/g { setgray } bind def +/rg { setrgbcolor } bind def +/d1 { setcachedevice } bind def +%%EndProlog +11 dict begin +/FontType 42 def +/FontName /Arial-BoldMT def +/PaintType 0 def +/FontMatrix [ 1 0 0 1 0 0 ] def +/FontBBox [ 0 0 0 0 ] def +/Encoding 256 array def +0 1 255 { Encoding exch /.notdef put } for +Encoding 1 /uni004F put +Encoding 2 /uni0072 put +Encoding 3 /uni0069 put +Encoding 4 /uni0067 put +Encoding 5 /uni006E put +Encoding 6 /uni0061 put +Encoding 7 /uni006C put +Encoding 8 /uni004D put +Encoding 9 /uni006F put +Encoding 10 /uni0064 put +Encoding 11 /uni0066 put +Encoding 12 /uni0063 put +Encoding 13 /uni00F3 put +Encoding 14 /uni0020 put +Encoding 15 /uni0041 put +Encoding 16 /uni0042 put +Encoding 17 /uni0065 put +Encoding 18 /uni0044 put +/CharStrings 19 dict dup begin +/.notdef 0 def +/uni004F 1 def +/uni0072 2 def +/uni0069 3 def +/uni0067 4 def +/uni006E 5 def +/uni0061 6 def +/uni006C 7 def +/uni004D 8 def +/uni006F 9 def +/uni0064 10 def +/uni0066 11 def +/uni0063 12 def +/uni00F3 13 def +/uni0020 14 def +/uni0041 15 def +/uni0042 16 def +/uni0065 17 def +/uni0044 18 def +end readonly def +/sfnts [ +<00010000000a008000030020636d6170008af10e0000151c0000006663767420eed894cc0000 +1584000007386670676da203ee1400001cbc00000547676c79666309e874000000ac00001470 +68656164ca8f0b3600002204000000366868656112c30cb40000223c00000024686d7478591c +085000002260000000506c6f63610000d55c000022b0000000546d61787006f711f400002304 +0000002070726570a3168215000023240000106c00020100000005000500000300070042b402 +01fe0607b8023f4013000504fe03000a0704fe010019080605fe0203bc0126000901b0011800 +182b10f63cfd3c4e10f43c4dfd3c003f3cfd3c10fc3cfd3c3130211121112521112101000400 +fc2003c0fc400500fb002004c00000020059ffe705e705d3000f001b00a2405597059708980c +980e040801070e080f0718271878097712077711781586048908890c860e8512891488158817 +8818861a0c07120814071a15121a141a18151a07132d0d09192d07031627af0a01000a100a20 +0a030ab8028c4020301d401d601d701d801da01d06201df01d021d1027a000010f001f003000 +0300b8028cb31c7ec3182b4e10f45d714ded4d105d71f65d714ded003fed3fed3130015d5d71 +005d13343736363736332000111000212000011412333236353426232206594332ad6789b301 +440185fe7efebdfeb9fe7e0131e6b1b1e3ddb7b7e002d4e09870b22b3afe6efe9afe9dfe6f01 +8f0168f9fefffffffcf8fb000001008700000337043e001000a84028970501090e0153056605 +7505032f12580e680e7012040a090f0c1f0c028f0cff0c023f0c4f0c020cb802774029070701 +000a0302060a28000910093009700904091a7f129f12025f127f12af12d01204121000260103 +b80129400b02028001a001020119113fb9011c00182b4e10f4713c4d10ed10fd3c4e105d71f6 +5d194de400183f3c3f3c3fed5d717239323130015d005d71004bb017534bb035515a58b10a32 +3859005d212111211536363332170726232206061101a0fee70105436b44605957473d3b522f +0426976b4435f52e41aafef100020093000001ac05ba000300070077b90009ffc0403f110a3f +40095009028009b009c009d009ef09051f0960097f09a009b00905030607000504030f000140 +00d000e00003005d02010006050607040a0207260104b8ffc040092124340419083f3c182b4e +10f42b3c4dfd3c003f3c3f3c3f3cfd5d713c0305103c3c103c3c313001715d722b1311211101 +112111930119fee7011904b60104fefcfb4a0426fbda000000020054fe510460043e0023002f +01324060771d871d02120c0d7031860d80310420012302230330013302330340014302430359 +0f591459255629562b592ff811f813113b0d33163b28332c4b0d44164b28442cf00cfd170a8e +0c010c0b0c0d0b2a0c0d270e1617152d0d0c171604182401b8ffc0b5191b34013300b8ffc0b3 +0e113e00b8ffc0b30b0c3e00b8ffc0b3282a3400b8ffc0b323253400b8ffc0b331343400b8ff +c04009151b34600001005f05b80274b21f0f27b80274b20e0a2db80274400b15071819062a29 +0b261a18b80129400919191a1a8f31013101b801b8400a00332421121930583c182b4e10f44d +edf4ed4e1071f63c4d10ed10fde4003f3c3fed3fed3ffdf4722b2b2b2b2b2be42b0111121739 +0011123939111239390708103c313000715d015d714358400d690f691469256729662b692f06 +5d59005d170516171633323736373635350623222726351000333217352111140e0223202635 +34131416333236353426232206790141081d28566e3725130d7ec0d67d620101bfc58001073e +70bb8ffef2e2fc8360678e88686583462738151e211631235e9bacb58fd5010b011aad95fc47 +bcba6a3cb98e0e0283a99da19ea5a09d0001009100000459043e0016009f4018071317135a08 +680804b80401340834104408440fe9100506b80274401d11070e0d060c0b0b01000a02012616 +0040202434af0001ff0001001a18b8ffc040162224349018a018027018f01802ef1801180a0b +260c0eb80129b20d0d0cb8ffc0400f202434a00c01f00c010c19173f3c182b4e10f471722b3c +4d10ed10fd3c4e105d71722bf671722b3c4dfd3c003f3c3c103c3f3c3fed3130005d01715d21 +2111342626232206061511211121153633321e02150459fee724513949742bfee701058bd35d +9a4f1f021eac65385084b2fe1f04269cb44368847b00000000020049ffe8042e043e00230032 +014e4068071a081c051d161a4a1b481c4925db10df1109361946195726661967268626921993 +1aa61ab91bc71ac81b0c06060d151606191627062915591977028602a606b506c6060cbf34d9 +10021d243231112c0d24402b2e3424402228342440191d346f24fc240224461db8ffc040300e +0f343d1d01001d101db01df91d041d1d2c013300400e0f340f001f0002005521401c113f2140 +1b103f2140181a3421b80274b504070c0d0a2cb8ffc0b31c113f2cb8ffc0b31b103f2cb8ffc0 +b3181a342cb802744040140b1e3126082909280d591f0c9f0c021f0c01ff0c010c400e16340c +1a4f340134600001008e300101013329215f1701df17014f175f176f17031719336941182b4e +10f45d71724dedf471ed5d4e105df62b5d71724dedf4e4fd3c003fed2b2b2b3f3c3ffd2b2b2b +f45d2be412392f5d712bed5d2b2b2b111239030e103c3c3c313001715d005d71012736363332 +1616150314161721262726270606232226353436363736373534262322060106060706151416 +333237363736350165ff2bd2cfbcb84b031b25feea0b10070348a45da4bd569b92c54c506f4b +54015e36ea243758444c4533100b02e22e9a945989b7feb88c854c1c3719084646b2885a8d4b +1c25201c51453bfed2123218273c3b5632263724650000010093000001ac05ba00030053b900 +05ffc04029110a3f40055005028005b005c005d005ef05051f0560057f05a005b00505020100 +03000a0203260100b8ffc040092124340019043f3c182b4e10f42b3c4dfd3c003f3c3f3c3130 +01715d722b3311211193011905bafa46000100910000061905ba000c01ac400b0b032608260b +0304030103b8ff8040091c3a340a203a3b3409b8ffe0b33a3b3409b8ffe040a41c2e340a201c +2e340609080ae309ec0a0404090a0a13021c0410091f0a23022c0420092f0a6702680465096a +0a77027804a409aa0ab509ba0af609fa0a169f0490099f0ac609c90ad702d804d609d90ae702 +e804e509ea0a0d7709780a83028c0483098c0a900207580b65026a046709680a760279040744 +024b0444094b0a57085709580a07180a2f0e34023a0434093b0a3f0e0703020c040609090a15 +021a04170907b8ff3b402d030a09200408090932030414030304020b0a0a320302140303020b +0803030c0402020c0a0a090907081f0e010eb8010db307060504ba02380005ffc0b35b5d3405 +b8ffc0401753543405320740077f080108bd7f030103bd0b200b0c02b802384012010000405b +5d34004053543400321f0c010cb8010db30d3175182b10f471ed2b2b103cee103c1a1910fd71 +fd713c1a1810fd2b2bee103c10e471003f3c103c103c3f3c12173987052e2b877dc4872e182b +877dc42b3130014bb0135358b90008ffe0b10b20383859015d5d5d5d5d5d71722b2b2b2b002b +715d331121010121112111012101119101bb010a010701bcfeedfeddfee3fede05bafc1803e8 +fa460482fb7e0482fb7e00020052ffe8049a043e000d001900974048e801e708f713f71504c7 +02e805021219051909025910561356165918970298069808970cb809d502db05dc09d50ce705 +e706e80d10a708cb02cc06c308c60c057508890684080311b80274b20a0b17b8027440140407 +1439071a601b701b021b0e2100191a5841182b4e10f44ded4e1071f64ded003fed3fed313000 +715d015d7143584009691066126616691804015d59005d015d13341236333200151400232224 +26251416333236353426232206528afd9cf10134fec9ec92fef78a0120966e6e95956e6e9602 +228c01068afec7eff1fec384ffa89ea8a8a09ca8a80000020054ffe8046105ba000f001c0090 +402d125906590a591256165618591c98079909f80909701e801e023a03340c3a1534194a0344 +0c4a15441999090914b80274b2050b1ab80274400e0b070e0f0001000a17290e0d2601b80129 +400f0f001a8f1e011e102108191d583c182b4e10f44ded4e1071f63c4dedfd3ce6003f3c3f3c +3fed3fed3130005d01715d4358400d6906690a691266166618691c065d592121350606232200 +1110123332171121011417163332363534262322060461fefb41b15ab7fefbfec2b2820119fd +122f447a6188846764879c5b5901270108010e0119940210fc70aa4c6ea5a4b7a19f00010018 +000002e605d3001600b840323604012a042010201159048018050804bf180215161102141216 +110e130f00100e13010010021409080f0b015f0bff0b020bb80274400a0601110f1601ff1601 +16b80274401e10000001f00001000613140a09333f084f085008030828102f115f110211b801 +04400d0e132602145f00a016c0160216b8ffc0b6090c3416191778b9026900182b4e10f42b71 +3c4dfc3cfd3cfc5d3cf45d19e400183f3c3f5d713cfd5d713c3ffd5d7139320f0f0f0f313001 +715d005d1333353436363332170726232206151533152311211123189c399975787326433e3d +35d2d2fee79c04265086845324c41039514bddfcb703490000010055ffe8043f043e001900e1 +4051580f59125916680f691269167d1879199702970cc610c618d710d618e906e908e913e915 +f80613381338154a124a164618590c690c073a1237163718037705770f8705860f8919a812a7 +16b912b616090eb8ffc0b3181b340eb8ffc0b51214340e330db8ffc0b3191e340db8ffc0b30f +11340dba0104000a02744012110b0040181b340040121434003390010101ba01010004027440 +20170701401214340121002f0d401214340d214f0e010e1a1b072114191a5841182b4e10f44d +ed4e10f65d4ded2bf4ed2b003ffdf45de42b2b3ffdf42b2be42b2b3130005d7101715d010526 +26232206151416333236370506062322001110003332160431feeb0e634f697d7f6b50661501 +142bf4cde9feeb0116edc2e502ec32535491aabd9c5b6f2fbec20126010401070125a700ffff +0052ffe8049a05d302260009000001070013012d00000021401302101d01501d601de01d031d +0432482b02011db902350029002b012b5d71350000020000000005bf05ba0007000a0132b900 +07ffd84009373934062837393407b8ffc04009283534064028353407b8ffd840502127340628 +21273429002a042a05280a2f0c380037053f0c6a006a02650366056808670ae8030f4a060102 +080901030a09090407090101200007140000070609040420050614050506080a401a1d3e0ab8 +ffc0400b1a1d340a25020303060409b801bc400e0607020504040100080c17171a00b8026140 +0b1f01012001300180010301b8022440091f0901300980090209ba0224000402614009200501 +05190b5e63182b4e10f45d4dfd19f65d71f45d7118fd4e456544e6003f3c3c103c3f3c4ded11 +12392f3cfd2b2b3c87052e2b877dc4872e182b877dc407103c3c87c4c43130014bb00b534bb0 +1e515a58b90003fffeb208040abafffe0007fffcb1060438383838385901715d2b2b2b2b2b2b +212103210321012113030305bffebe80fdb679fec6023b01392acac6014dfeb305bafc8a0220 +fde00000000300960000056205ba00130020002c00d8403f772a01680e782ae604f604040921 +150906282c212516121f154f15023015af15021515142322251213082014250100021b277006 +800602064b2827af0c010cb8ffc0b3090b340cb8028c4021302e402e502e602e702e802e902e +a02e08202e302e022e14222000201330130213b8028bb32d3153182b4e10f45d3c4dfd3c4d10 +5d71f62b714dedf45ded003f3cfd3c3f3cfd3c11392f5d71435c58b90015ff80b21d3915b8ff +c0b21a3915b8ff80b113392b2b2b593cfd3c01111239001112393130014bb00b534bb00f515a +58b10a203859015d005d1321321e021514060716161514060607060521011133323736363534 +2627262303112132373636353426262396024aaeab875a6f5f86905da1764afee5fe0d0128c2 +ad2a4c574b4a2cd1aa0112a02b42534079ca05ba1d5c995f67ac2b27bc7f64bd710d080204c6 +fead0509574744550905fdb9fe78090c5d4e425c2a0000020041ffe80427043e0014001c01a3 +b90010fff840460b3999099a0d9610a805a70abb09bb0db81a0808140148024706460a4f1ea8 +0db606b61ac70ac80cd60ad80cf807f70d0d1c0f1c15401b1d3415400e11340f15bf15cf1503 +15b8ffc0b30f1e3f15b8ffc0b30e173f15b8028d400c0f0e12500e600e020e181201b8ffc0b6 +191b3401331200b8ffc0b31d203400b8ffc0b322293400b8ffc0b32b2d3400b8ffc0b3181c34 +00b8ffc0400f0e0f34a000010000100002005f1212b80274b3040b1218b8027440240b070021 +012f15214f0e010e1a2f1e5f1e6f1e9f1e041e0f2108400d0f3408191d6941182b4e10f42b4d +ed4e105df65d4dedf4ed003fed435c584014184028143f18401e0f3f18401b103f18401c113f +2b2b2b2b593ffd435c58b90012ffc0b328143f12b8ffc0b31e0f3f12b8ffc0b31b103f12b8ff +c0b21c113f2b2b2b2b59f45d712b2b2b2b2b435c58b90000ffc0b2123900b8ffc0b2173900b8 +ffb0b3090a3e00b8ffc0b241213f2b002b2b2b59e42b1112395d435c5840140e400f1e3f0e40 +1c113f0e401b103f0e400e173f002b2b2b2b592f3cfd2b2b722b2b3c0111333130015d71005d +2b010506062320272635100033320003211616333236132626232207061702fa011836e9affe +eb85690114d3ed011206fd40038261425a270378565c3c3c0101522f9aa1b591dd0108012bfe +c7febd7d8b48016c7a7f43437300000200940000056105ba0010001f007f40332805280a4717 +6504650c052a173917481659166816053917361b871b9905960b051f11250100021312250f10 +081927af070107b8ffc0b3090b3407b8028c4013802101202130210221111220002010301002 +10b8028bb3203153182b4e10f45d3c4dfd3c4d105d71f62b714ded003f3cfd3c3f3cfd3c3130 +005d71015d132132171616121514070607060706232101113332373e02353426262726239402 +1db76081b8602d37664d8362a4fdd30128dd7c37485f3c3c6c533eb505ba1c26c2fee7ceb583 +a0634b2a1f04c2fc350e1256c5aaaab666120e000000000100bb04a8028005d3000300434013 +012012153401201e2434500301000310030203b801594009010003e50010020102b80261b701 +6e001904e67c182b4e10f44df4ed5d10ed003fed5d713130012b2b13132101bb8a013bfeed04 +a8012bfed5000000000000020003000000000014000100000000003400040020000000040004 +00010000f013ffff0000f000ffff100000010000000000060032000000000014000000010002 +0003000400050006000700080009000a000b000c000d000e000f0010001100120013000005ba +001c05ba001c05a7001c0426001c0000ffe40000ffe40000ffe4fe69ffe405ba001cfe69ffe4 +02ea0000011d0000011d000000000000000000b200ac00d70128012000b301fa001700f80119 +01310049000400f7000300af00fd00950014005400960112002400160055004901040119012b +008c019bff76ffe9003d009200a2ffb70182ffaa0016008f00c600f8001c00de04010037004e +00550055006500e903e50059ff9a00080087000b003b00520116006100d600d600f500000093 +009400be017cfff80004001400820092003c00410041ffc1fffc002a008c049005d809b50091 +00bb0106ff63ff69001e0022008a022bffd6ffdf0026005900a300ac0104012b01c004480021 +006b00850098011903c6006b009500a400fe010c025d034305bf000000490056006e0077008a +00aa00ca0112015005d805f0ff7bffe70006001300280061006900e90135014d02a5040cff3e +ffda005b00b900c801190119011901c0045b04a7055bfe3fff9dffc2001500b7010a01bc01c1 +0532058efd81ffa1ffae000c00260031003d004e00560062008300c100c900f100f2027fff7f +00480053007700c5011d01200126012801d60219027e027e03d3002e0041005d006b0075009f +00b000b200ba00bb00bd00d600db00e000e50114011b014a0162019101f2020c026402cf039b +03b403d4040104a9001600230025002a007400a500b600cc00cd00cf0105012001300150016a +016f0197019d01e002b002ec02f70408048304fb04fd0526fee0fefbff4efff50018001a004c +007a007f009100a300b300b400ce00d500f200f300f601100138016801a101b001e001ec0209 +0222024f0270029602a502ad034e039103c104350442046b04cd04da0586058b076107fefca6 +fe93feadfed1ffb7ffd10003000e00180026004600690081008f00a500bf00d300d500d900dd +00e20119012b0138013b015a015e016801730188019401ad01c501d101ea01f2020002000200 +0222023b0244024f026f0272027e02820293029402a502cf02cf02d002da02dd02eb02f50305 +03220336037103a103b003b803d003e604100426042e0431044f045a04ff0532053205470553 +05a805ab05c205f0063c0664067006e80782078408ccfd2afddefe00fe68feb0feb3ffaa0008 +0059007a0091009e00a200af00b400bb00ca00cc00ce00d900e000f40114011a01210127012b +01390146014b014d0157015c01650182018701920198019b01a201ae01c501c501d102070222 +022b024102530261026502840287028d02b402b402ba02c902d602d802ed02f503170323032b +03310349035a035b036e03710374037e03840391039103aa03cf03d303e703e803ed04080417 +041e0475047a049904a704b404d1054c056d056d05a205bf05c005d105fc05fc0602061a061c +062f066a06a806e2070607360750078907d407f30870011c012a011a01200000000000000000 +000000000219000b001e02aa0214047f01ed0000001d0104000f0091002b01880153011201f3 +003f03fe0168010e047f01ed036e03150219041300000000064004b00000027401bb003501c5 +007f06020301000004e000b201dc02e004c3023d00d50160011904a7036e05ca022100ab0426 +009002bc02bb014200b4023c0256029c030001e501a800e5006b00780094016b017300ab01ed +013a017d0137017f00d4021603530184003cffa202040109014901f0006e031500810464005e +000000000000000000000000000000000000000000000000000000000000013900dc00e9fe9e +040d047c012b00b80096005900ac00df01a900fa0105ffec00170003005500610004008c00a3 +008500280120005d00d6007f012601190104016c06cf00b4010600000737063e047a00f000f9 +00e905ba042604420000ffe7fe69049e04e3ff37ff2d01200105012000a800740068004700f2 +00e500d900bd00a800680047005c0048000a0028003200410050005a0064007d00870091ffb0 +ff9cff83ff79ff6f00cb012000fa012c01fa01a000d500b8005c003c00c800c8008f00d9018b +00b3004700000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000fe6400c000ea01180125013203b003ed0576 +059005aa05b405be05cd063100780084009b00cc00e200f4010a0120016300d100ea00f70108 +01420019002c00340041003800480058006c025903bd0043011a007000d30028003700420050 +005a0064007300780082008c009c00a500bd00ce00f00110015c00be00d801020117012c0163 +00ea01080041004b0055005f007300a60109018301b300410064001e002a00eb00fa010e0138 +0274002c00400082009600b600c000cc00dc00e600f000ff010a0120012c013b014401560163 +00f70057006401100136005001b10046ffb6007f004e004403cc00e5002401100042012201a4 +00f0006000e0000e001d003905e30102002cfe4eff38026903bd011600ff000e00a00054001b +003d01710041000f005000fd0015014f0035fe52002c4040403f3e3d3c3b3a39383735343332 +31302f2e2d2c2b2a292827262524232221201f1e1d1c1b1a191817161514131211100f0e0d0c +0b0a090807060504030201002c4523466020b02660b004262348482d2c452346236120b02661 +b004262348482d2c45234660b0206120b04660b004262348482d2c4523462361b0206020b026 +61b02061b004262348482d2c45234660b0406120b06660b004262348482d2c4523462361b040 +6020b02661b04061b004262348482d2c0110203c003c2d2c20452320b0cd442320b8015a5158 +2320b08d44235920b0ed51582320b04d44235920b09051582320b00d44235921212d2c202045 +18684420b001602045b04676688a4560442d2c01b10b0a432343650a2d2c00b10a0b4323430b +2d2c00b0172370b101173e01b0172370b10217453ab10200080d2d2c45b01a234445b0192344 +2d2c2045b00325456164b050515845441b2121592d2cb00143632362b0002342b00f2b2d2c20 +45b0004360442d2c01b00643b00743650a2d2c2069b04061b0008b20b12cc08a8cb810006260 +2b0c642364615c58b00361592d2c45b0112bb0172344b0177ae4182d2c45b0112bb01723442d +2cb01243588745b0112bb0172344b0177ae41b038a45186920b01723448a8a8720b0c05158b0 +112bb0172344b0177ae41b21b0177ae45959182d2c2d2cb0022546608a46b040618c482d2c4b +53205c58b002855958b00185592d2c20b0032545b019234445b01a23444565234520b0032560 +6a20b009234223688a6a606120b01a8ab000527921b21a1a40b9ffe0001a45208a54582321b0 +3f1b235961441cb114008a5279b31940201945208a54582321b03f1b235961442d2cb1101143 +23430b2d2cb10e0f4323430b2d2cb10c0d4323430b2d2cb10c0d432343650b2d2cb10e0f4323 +43650b2d2cb11011432343650b2d2c4b525845441b2121592d2c0120b003252349b04060b020 +6320b000525823b002253823b002256538008a63381b212121212159012d2c4bb06451584569 +b00943608a103a1b212121592d2c01b005251023208af500b0016023edec2d2c01b005251023 +208af500b0016123edec2d2c01b0062510f500edec2d2c20b001600110203c003c2d2c20b001 +610110203c003c2d2cb02b2bb02a2a2d2c00b00743b006430b2d2c3eb02a2a2d2c352d2c76b8 +023623701020b802364520b0005058b00161593a2f182d2c21210c6423648bb84000622d2c21 +b08051580c6423648bb82000621bb200402f2b59b002602d2c21b0c051580c6423648bb81555 +621bb200802f2b59b002602d2c0c6423648bb84000626023212d2cb4000100000015b00826b0 +0826b00826b008260f10161345683ab001162d2cb4000100000015b00826b00826b00826b008 +260f1016134568653ab001162d2c4b53234b515a5820458a60441b2121592d2c4b545820458a +60441b2121592d2c4b53234b515a58381b2121592d2c4b5458381b2121592d2cb0134358031b +02592d2cb0134358021b03592d2c4b54b012435c5a58381b2121592d2cb012435c580cb00425 +b00425060c6423646164b0035158b00425b00425012046b01060482046b0106048590a21211b +2121592d2cb012435c580cb00425b00425060c6423646164b807085158b00425b00425012046 +b8fff060482046b8fff06048590a21211b2121592d2c4b53234b515a58b03a2b1b2121592d2c +4b53234b515a58b03b2b1b2121592d2c4b53234b515ab012435c5a58381b2121592d2c0c8a03 +4b54b00426024b545a8a8a0ab012435c5a58381b2121592d2c462346608a8a462320468a608a +61b8ff8062232010238ab902a702a78a70456020b0005058b00161b8ffba8b1bb0468c59b010 +6068013a2d00000100000002d1ecef8665d85f0f3cf50819080000000000a2e33c1d00000000 +b53db2cffafafcfd1045086200010009000100010000000000010000073efe4e00431000fafa +fe5110450001000000000000000000000000000000140600010006390059031d008702390093 +04e3005404e30091047300490239009306aa009104e3005204e3005402aa00180473005504e3 +00520239000005c7000005c700960473004105c7009402aa00bb000000000000006c00000174 +00000258000002fc000004bc000005a80000079400000800000009e800000ad800000bc80000 +0cc800000e0400000e4000000e4000000fac00001114000013200000140c0000147000010000 +001400f2003c0063000500020010002f00410000064d106c00030002bd039a000f0101001fff +c00398b310143240b80399b30f1332404110039500500395000200b0034d00c0034d0002006f +0391007f03910002ffc0034bb22d3132b9ffc0034bb30a0e32104110038b0020038b0080038b +000300a0038b00010020038b0040038b0002ffc0038bb313163240b80383b20f1132b9ffc003 +7bb2303432b9ffc0037bb3101832504114037800010365036e0023001f037e036e001e001f03 +63036e001d001f03620364000d001fffc00340b30f1032804110033f0001033f03150029001f +034103160032001f0344031a001b001fffc00375b20e1132b9ffc00375b2282a32410a034303 +180032001f030f030d0034001f03080307b2321f20bb0340000100400388b3090b3240b80388 +b2101532bd038503070014001f03800307b2171f0fbd030a002f030a0002ffc00354b3090d32 +90410c035400a003540002001f036e0001009f036e00010040036eb2090b32410a0345031c00 +16001f036b031d0015001f0346031eb2151fc0bb0393000100400392b3090d3240b8033eb208 +3340b8033eb30d0e32c04109033e000100b0038e00c0038e0002ffc00390b326383200412603 +280030032800020020037f0030037f00020010038a0030038a0050038a006f038a007f038a00 +9f038a000600000389003003890002002f037a0070037700900377009f037a0004ffc00315b2 +0f1032b9ffc00315b2242832b903190318b2321f10bb031a0001ffc0031ab3090e3240b80318 +b2121332b9ffc00318b30c0e323fbd0373004f0373000200400374b31718326fbb032a000100 +40032cb3181b3240b80370b2090c32bd031703160032001fffc00316b20e1132bd031c031e00 +16001f031d031eb2151fb0411f031e0001000f031f000102ca02d00015001f02d302d5000d00 +1f02cf02d0000d001f02cb02d0000d001f02cd02d0000d001f02ce02d0000d001fffc002d0b3 +090c3240b802d2b3090c32e0411c02e50001005f02dd009f02e5000202bb02c30030001f02da +02b80032001f02d902b9003f001f02d802b80064001f02b902b80033001f02bab221c81fb802 +b8b321c81f40b8039bb20d1632b9ffc002c3b22b2f32b9ffc002c3b21f2532b9ffc002c3b217 +1b32b9ffc002c3b2121632412502c202c1001c001f02d702c10024001f02c102c00022001f02 +bf02c00018001f02c0027400c8001f02b50235003b001f02b40235003b001f02c402bc001e00 +1f02b702b60038001f02b3b20ec81fb802b0b207c81fb802afb206c81fb802aeb200c81fb802 +afb2502f1fbc02ae02ab001a001f02adb2261a1fb802a8b326241f0fbb0235000102a50274b2 +1d1f12410a02a1015801f4001f02a000d801f4001f001202a2b237c81fb80290b2bc201fb902 +9002904018374025402d40a6033025302d30a6032025202d203720a6204110028e0005009f02 +8b0001028b028b003700200289003002890040028900900289b20437b041fd027400c0027400 +020080027400a00274000200600274007002740002000002740010027400020080027400f002 +740002003f0285004f028500020090027e0090027f009002800090028100040090027a009002 +7b0090027c0090027d000400900274009002750090027700030070027e0070027f0070028000 +70028100040070027a0070027b0070027c0070027d0004007002740070027500700277000300 +60027e0060027f006002800060028100040060027a0060027b0060027c0060027d0004006002 +74006002750060027700030050027e0050027f005002800050028100040050027a0050027b00 +50027c0050027d000400500274005002750050027700030040027e0040027f00400280004002 +8100040040027a0040027b0040027c0040027d00040040027400400275004002770003003002 +7e0030027f003002800030028100040030027a0030027b0030027c0030027d00040030027400 +3002750030027700030020027e0020027f002002800020028100040020027a0020027b002002 +7c0020027d000400200274002002750020027700030010027e0010027f001002800010028100 +040010027a0010027b0010027c0010027d0004001002740010027500100277000300e0027e00 +e0027f00e0028000e00281000400e0027a00e0027b00e0027c00e0027d000400e0027400e002 +7500e00277b103d041c5027e00d0027f00d0028000d00281000400d0027a00d0027b00d0027c +00d0027d000400d0027400d0027500d0027700030030027400400274000200c0027e00c0027f +00c0028000c00281000400c0027a00c0027b00c0027c00c0027d000400c0027400c0027500c0 +0277000300b0027e00b0027f00b0028000b00281000400b0027a00b0027b00b0027c00b0027d +000400b0027400b0027500b00277000300a0027e00a0027f00a0028000a00281000400a0027a +00a0027b00a0027c00a0027d000400a0027400a0027500a0027700030090027e0090027f0090 +02800090028100040090027a0090027b0090027c0090027d0004009002740090027500900277 +00030020027e0020027f002002800020028100040020027a0020027b0020027c0020027d0004 +0020027400200275002002770003028101580801001f028001290801001f027f00ec0801001f +027e00d80801001f027d00b10801001f027c00a60801001f027b00820801001f027a00370801 +001f027700260801001f027500200801001f0274001f0801b21f370f41160235004f0235005f +0235006f0235009f023500af023500bf0235000700af023500cf023500df023500ff02354022 +040f074f079f07af07bf0705af07e007020f064f069f06af06bf0605af06e0060220411b020d +0001005f02350001008f02350001007f023500ef02350002002f0235003f02350002003f0234 +004f0234000202350235023402344011ed20ef2a01cf2a01bf2a01af2a018f2a014109024701 +04001e001f022000370201001f0158400c263e1fd8263e1f3726273e1fb8028eb6ec171fb226 +361fb801bcb226361fb80129402b26361fec26361fb126361fa626361f8226361f3726361f32 +26361f2d26361f2526361f1f26361f37262a1fb801584022263e1fd8263e1fbc263e1f27263e +1f21263e1f20263e1f3700161600000012110840b9020d01a6b3c50d0009b801bcb227281fb8 +01bbb227301fb801b8b2274f1fb801b7b227621f410901b600270101001f01b5002002ab001f +01afb21fe41fb801adb21fe41fb801acb21fbb1fb801a8b21f341fb8015db2272e1fb8015bb2 +27cd1f410d0155001f0401001f0154001f0401001f0153001f0201001f0152b21f561fb80151 +b21f291fb8012bb227261f410d012a00270125001f0129015800e4001f0125001f0401001f01 +24b21fe41fb80123b21f3b1fb80122b21f391f410d010800270801001f0106002d0101001f01 +05001f0101001f0103b31fbb1fefb901580401400b1fed1f931fec1fe41feb1fb80201b21fd9 +20b80401b21fcf25b80156400a1fbc2d9e1fbb1f411fb2410a01580401001f00b10158040100 +1f00b001580401b51fa625891f9bb901580125b61f991f2e1f8e2db80801b51f8d1f291f89b9 +01580401b21f8220b802ab40131f801f301f742de41f731f4a1f611f521f5d25b802abb21f5c +1fbc0801001f0059015802abb61f5025891f491fb80125b21f4725b80401400b1f461f791f40 +1f271f3920bc02ab001f003801580401b21f372dbc0125001f003201580125b61f2c1f341f2a +25b80801b21f5537b80111402a07f00790075b0742073b07230722071e071d07140812081008 +0e080c080a080808060804080208000814b8ffe0402b00000100140610000001000604000001 +000410000001001002000001000200000001000002010802004a00b013034b024b5342014bb0 +c063004b6220b0f65323b8010a515ab005234201b0124b004b5442b0382b4bb807ff52b0372b +4bb007505b58b101018e59b0382bb00288b801005458b801ffb101018e851bb0124358b10100 +858d1bb900010119858d5959001816763f183f123e113946443e113946443e113946443e1139 +46443e11394660443e11394660442b2b2b2b2b2b2b2b2b2b2b182b2b2b2b2b2b2b2b2b2b182b +1db0964b5358b0aa1d59b0324b5358b0ff1d594bb08153205c58b9020f020d4544b9020e020d +45445958b90470020f455258b9020f04704459594bb0e453205c58b90020020e4544b9002702 +0e45445958b908420020455258b9002008424459594bb8012553205c58b90026020f4544b900 +21020f45445958b90a0d0026455258b900260a0d4459594bb8040153205c58b1d8204544b120 +2045445958b9250000d8455258b900d825004459594bb8040153205c58b9015800264544b126 +2645445958b923200158455258b9015823204459594bb02953205c58b11f1f4544b12d1f4544 +5958b9010d001f455258b9001f010d4459594bb02f53205c58b11f1f4544b1251f45445958b9 +0135001f455258b9001f01354459594bb8030153205c58b11f1f4544b11f1f45445958b91428 +001f455258b9001f14284459592b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b65422b01b331757ec3456523456023456560234560b08b766818b080622020b17e75456523 +4520b003266062636820b003266165b075236544b07e234420b131c34565234520b003266062 +636820b003266165b0c3236544b0312344b100c3455458b1c3406544b23140314523614459b3 +3f3c5841456523456023456560234560b089766818b080622020b1583c4565234520b0032660 +62636820b003266165b03c236544b058234420b13f414565234520b003266062636820b00326 +6165b041236544b03f2344b10041455458b141406544b23f403f452361445945695342014b50 +58b108004259435c58b108004259b3020b0a124358601b2159421610703eb0124358b93b2118 +7e1bba040001a8000b2b59b00c2342b00d2342b0124358b92d412d411bba04000400000b2b59 +b00e2342b00f2342b0124358b9187e3b211bba01a80400000b2b59b0102342b0112342002b2b +2b2b2b2b2b2b00b01243584bb035514bb021535a58b1262645b040614459592b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b737373737345b040614418004569444569447373737473737374 +737473742b2b2b2b2b2b2b2b2b2b2b2b00737373737373737373737373737373737373737373 +737474747474747474747474747474747474747474747575757374757575752b7300004bb02a +534bb036515a58b1070745b040604459004bb02e534bb036515a58b1030345b0406044b10909 +45b8ffc06044592b4569440174007373732b4569442b012b435c58400a0006000702a006a007 +02b9ffc00274b31a1d326fbd0277007f02770002ffc00277b22f3132b9ffc00277b322253240 +b80274b32f353240b80274b3282a3240b80274b21a2132b8ffc0b3371a1d32b8ffc0b3251a1d +32b8ffc040112d1a1d329025902d9037a025a02da03706b8ffc0b6a61a1d321fa61fb8028eb2 +2fa60300742b732b2b2b2b2b2b2b2b742b737459002b2b435c58b9ffc002a1b21c1d32b9ffc0 +02a0b21c1d322b2b592b73012b2b2b2b002b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b012b2b +2b2b2b2b2b73742b2b2b2b2b2b2b2b73732b2b2b2b2b2b732b732b2b2b742b2b2b7373737373 +2b73732b2b2b73002b2b2b2b7374732b732b2b2b2b752b2b2b2b2b2b2b2b752b2b2b2b2b732b +2b2b2b7374752b2b7373732b2b2b00> +] def +/f-0-0 currentdict end definefont pop +11 dict begin +/FontType 42 def +/FontName /AndaleMono def +/PaintType 0 def +/FontMatrix [ 1 0 0 1 0 0 ] def +/FontBBox [ 0 0 0 0 ] def +/Encoding 256 array def +0 1 255 { Encoding exch /.notdef put } for +Encoding 1 /uni004C put +Encoding 2 /uni0061 put +Encoding 3 /uni0020 put +Encoding 4 /uni0063 put +Encoding 5 /uni006F put +Encoding 6 /uni006C put +Encoding 7 /uni0069 put +Encoding 8 /uni006E put +Encoding 9 /uni0068 put +Encoding 10 /uni0079 put +Encoding 11 /uni0071 put +Encoding 12 /uni0075 put +Encoding 13 /uni0065 put +Encoding 14 /uni0073 put +Encoding 15 /uni0062 put +Encoding 16 /uni0072 put +Encoding 17 /uni002C put +Encoding 18 /uni0064 put +Encoding 19 /uni00ED put +Encoding 20 /uni0074 put +Encoding 21 /uni00E1 put +Encoding 22 /uni0045 put +Encoding 23 /uni0044 put +Encoding 24 /uni0067 put +Encoding 25 /uni00F3 put +Encoding 26 /uni0041 put +Encoding 27 /uni0070 put +Encoding 28 /uni006D put +Encoding 29 /uni002E put +Encoding 30 /uni0043 put +Encoding 31 /uni007A put +Encoding 32 /uni0066 put +Encoding 33 /uni0055 put +Encoding 34 /uni0076 put +Encoding 35 /uni002D put +Encoding 36 /uni0032 put +Encoding 37 /uni0030 put +Encoding 38 /uni0031 put +Encoding 39 /uni0035 put +Encoding 40 /uni0037 put +Encoding 41 /uni002B put +Encoding 42 /uni0040 put +Encoding 43 /uni0039 put +Encoding 44 /uni0034 put +/CharStrings 45 dict dup begin +/.notdef 0 def +/uni004C 1 def +/uni0061 2 def +/uni0020 3 def +/uni0063 4 def +/uni006F 5 def +/uni006C 6 def +/uni0069 7 def +/uni006E 8 def +/uni0068 9 def +/uni0079 10 def +/uni0071 11 def +/uni0075 12 def +/uni0065 13 def +/uni0073 14 def +/uni0062 15 def +/uni0072 16 def +/uni002C 17 def +/uni0064 18 def +/uni00ED 19 def +/uni0074 20 def +/uni00E1 21 def +/uni0045 22 def +/uni0044 23 def +/uni0067 24 def +/uni00F3 25 def +/uni0041 26 def +/uni0070 27 def +/uni006D 28 def +/uni002E 29 def +/uni0043 30 def +/uni007A 31 def +/uni0066 32 def +/uni0055 33 def +/uni0076 34 def +/uni002D 35 def +/uni0032 36 def +/uni0030 37 def +/uni0031 38 def +/uni0035 39 def +/uni0037 40 def +/uni002B 41 def +/uni0040 42 def +/uni0039 43 def +/uni0034 44 def +end readonly def +/sfnts [ +<00010000000a008000030020636d61700252f32d000021500000009c637674201edb3bab0000 +21ec000002806670676d14fec4420000246c000006b7676c7966792dca77000000ac000020a4 +68656164c589e94300002b2400000036686865610c11033f00002b5c00000024686d7478e1a3 +271700002b80000000bc6c6f6361b996c34800002c3c000000606d61787002db084900002c9c +0000002070726570554ed6a100002cbc00000337000200d8000003f50560000300070014b707 +010400050304002fcd2fcd002fcd2fcd31303311211125211121d8031dfd63021dfde30560fa +a080046000010100000004000583000500224012020304930112047f014007006e0206016b02 +2b2b011a18104ded003fed3f31302901113311210400fd00a4025c0583fb0c000000000200d7 +ffe50414042b001b002600bc40185820682002770a010107180108103c1113360718090a3618 +b8fff0b3080a3624b8fff04016101336381d0108110110021d950e0e05171595144014b8ffc0 +402717173614119517101c03249505130112080818082808580804100203421c0e0185000e85 +194015b8ffc04010141936152183084028196802270866022b2b011a18104dedc42b011a1810 +4dedd6ed103ce55f5e5d003f3fedddcd3fedcd2b001a18104ded1112392fed5f5e5d5d2b3130 +012b2b2b005e5d5f5d5d212326350623222635343e023f013510232206072736332019011427 +350e0215141633323604149b1385e574b13e78ac76affa3bb54129d5b701649cd39d73624c53 +a43f69c3a5824d76512f090e32010c3323706dfe87fe4088cbbd13215a4d46566300000100b0 +ffe503f6042b00150060403d97130102980d01030a950b0d9508100095681578158815030015 +139502130510151065107510040b030a420010830540070501130217006802160566022b2b01 +5f5e5d1a18104ded10e65f5e5d003ffdd65f5ded3feddded5f5d5f5d31302506232200353400 +333217072623220615141633323703f688a3f6fedb0127f09d8e298e72acc9d0a7848c233e01 +2bf8f8012b378131debeaeed3300000000020091ffe5043b042b000b001700a7401d18020102 +17040101170e0103170801080601070001080212100d0e360cb8fff040300b0e36c81201c70c +01f706010368060102080001f8000103670001129500100c950613080f01f80f01071501f715 +0115b8fff040200d0e360f100d0e36a71501a80f01020f830319036902158309070901180966 +022b7110ed2b10ed5f5d5d2b2b5d715d71003fed3fed5d5f5d715f5d5f5d5d5d2b2b5f5e5d5d +3130715f715f715f710132121514022322023534121332363534262322061514160266d7fefe +d7d8fdfed78ea4a29091a0a2042bfed4f5f7fed2012df8f6012bfc42f0abb4e8e5b7aeed0001 +00f4000003ae058300070022401102950400069501120006030685010109081112392fedc610 +cd003fed3fed3130290111213521112103aefe56fef001ac010e04fc87fb0400000201270000 +0314059c000b0011002a4016069e00010e95100f0d120390090f090f0c850d0d13121112392f +ed33332f2fed003f3fed3fed313001321615140623222635343613231121352102aa2c3e3d2d +293f3f759cfecd01cf059c3f2c2e3e412b2b40fa64038b870000000100d7000003fa042b0010 +00574010c70fd70f0201a8040102b7070101070cb8ffe0b51214360ce20eb8ffec401b080c36 +05950e100a0f080012018500120068020b088509110965022b10fd3c2b10ed003f3c3f3fed2b +fd2bcd5f5d3130015f5d005f5d212311342623220711231133153633201103fa9c595f8fa49c +9ca8ba0125029c8b7db2fd0e041299b2fe9e000100d7000003fa0583001000664018d70fe70f +0201b8040102050e0108030a000707011401070cb8ffe0b51214360ce20eb8ffec401a090c36 +05950e100800120185000b0885094012006802110965022b2b011a18104dfd3c10ed003f3c3f +ed2bfd2bcd5f5e5d3f5f5e5d3130015f5d005f5d212311342623220711231133113633201103 +fa9c595f8fa49c9ca8ba0125029c8b7db2fd0e0583fdf6b2fe9e00010075fe64042904120010 +00cdb9000bfff04074080c36080c01026701010c100a0c36080f010a0c01030c0c0d0f0f0e10 +0b0b1010870002140000020c0c0b0e0f0e870d0c140d0d0c04100d0f36070f0101020b090142 +0c0f0c00100e0d0f0f0c1207099540041b2800380002030b02010c0f0f0d1000080001090206 +060e0d12007702110d76022b2b01113333182f5f5e5d11331239192f333339395f5d00183f1a +4dfdc63f333f3c3c3c123910e51239395f5d2b87052e2b87087dc487052e182b0e7d10c40708 +3c08c4313001015f5d5d2b5d00005f5d2b09010e01232227371633323637013309010429fe75 +56a96c605e1a4c3c546c37fe79aa012701270412fbeee6b6237d1882940410fcc1033f000002 +0091fe6403f6042b000f001c0088400ad50d010305100d10360bb8fff0404b0d1036d81301d7 +0b01d8050102c811e8110200110de113950b100e0f02e219950513001b071601b716f7160258 +08010208080108030e110185001683084007080116021e0068021d0866022b2b015f5e5d1a18 +104ded10fd3c3c5f5e5d5f5d5d71003f3feded3f3fedfdcd5f5d5f5d5d5d2b2b5f5d31300123 +110e01232202353412333217353303112623220615141633323e0103f69c30b363b3d0d8b4c5 +789c9c709e81968d7b3b786afe6402324d64013af3e90130a087fd2d01b1b4eab0b3e6408000 +0000000100d5ffe703f804120010005cb70a051a050208030bb8fff0402e1113360f070f0e08 +02011601022012143602e20410080c360c95041301120e018500098506401200680211066502 +2b2b011a18104ded10fd3c003f3fed2bfd2b5f5e5dcd3f3c3130012b015f5e5d212335062320 +190133111416333237113303f89ca8bafedb9c54648fa49c9ab3016302c8fd658583b202f100 +0000000200aaffe50419042b0012001900724047070217028702030b01851701970f0103070f +170f270f030d0237040103199501010916950f10079508061806280603110006049509130713 +83001901830c401b0069021a0c66022b2b011a18104dfdc510edc6003ffdd65f5e5ded3fed12 +392fed5f5d5f5e5d5f5d3130015d005f5e5d0121141633323717062322003534123332121527 +3426232206070419fd35cd958e971b8ab8e8fee4ffcab4f2aa985e799f090204b1e6337d3e01 +2afdf80127feeee44e7aa7a081000000000100e9ffe503ec042b0025011b40be0a1b010a0901 +039717a71702370b0101c722010208210101b70e0102070e01a7070101071a1d1a870a07140a +1a190a07450a750a850a0303971d0102a71d0101571d671db71d0302881d0103381d481d0202 +1d070a1a041023259508001800280038004800580068000700000295a8230103231012950713 +17132713371347135713671307001315951013b82001a70501020a1d0d201a0718059825a825 +02002518850d980d01031205852040972001020820010800270d6802262065022b2b015f5e5d +5f5d1a18104dedc45f5d10edc45f5d11123939111239395f5d5d003ffdde5f5ded3f5f5dfdde +5f5ded111217395f5d5f5d5f5d5f5d5f5d5f5d87082e2b87047dc4183130015f5d5d5f5d5f5d +5f5d005f5d5d5f5d5d01262322061514161f011e021514062322273716333236353426272e03 +353436333217038d83747f94446695678241fac1c07d1e839682a3519679726233ecc37e9a03 +7d2b55472d431d2b1d51734c95ad3a873e615036552e252548643e879e2b0000000200d7ffe5 +043b05830010001c00d1b7e707010704010815b8fff0b31719360cb8fff0b317193600b8fff0 +401f1719368715010297120198110100080918098809039803018703c703020203b8fff04056 +0d10360f0011850001037800010100e11b95031012880c0102670c770c02000ce2159509130e +1268189818a818b818040218100b0c3698060103070617062706c706040d0212000d850e1883 +06401e0669021d0e65022b2b011a18104ded10fd3c3c5f5e5d5f5d2b5f5d003f3fedfd5f5d5f +5dcd3fedfd5f5d5f5dcd3f2b5f5d5d5d5f5d5d5f5d2b2b2b31305e5d5d013e01333212151402 +232226271523113319011e013332363534262322017334b162b6cbd8b561a9319c9c2c96507e +958e7fa5038b4858fedceef1febd6150960583fd6dfe4f5876f0afb4e0000000000101460000 +040a042b000f003f4011b70ec70e0200950107a50cb50cc50c030cb8ffe840130b0c360c0103 +950e100a0f081200090b0885092ffd3c10c4003f3f3fedcddd2b5dcd10ed5d31300107262322 +0e01151123113315363332040a3f674b45846f9b9b7dc77603f6962d4f9309fd5e0412d3ec00 +000101eeff1002ee00dd000d0037b9000cfff0400f181c360ce70bb306b000130000090cb8ff +c0400a0813360c09af03030f0e1112392fedc62b12392f003fedf4ed2b3130052e0135343633 +321615140727360268344442323852da267a1b064a2f33465b40c46e483c000000020091ffe5 +03f60583000f001c008d401b070a010802671c771c971c030188130103880201870b01880501 +0bb8fff0403f0d103605100d10360e001195870d010de113950b101002e21995051301126716 +a716b716030808010d0e110185001683084007080116021e0068021d0866022b2b015f5e5d1a +18104ded10fd3c3c5e5d5d003f3fedfdcd3fedfd5ded3f2b2b5d5d5d5f5d5f5d31305f5e5d21 +23350e01232202353412333217113303112623220615141633323e0103f69c30b363b3d0d9b3 +c5789c9c709e81968d7b3b786a964d64013ff5e5012da001f8fbbc01b1b4e5afb4eb4080ffff +01270000036205ba0236002d00000106002eef000013400b0107112601000809040525012b35 +002b3500000100f0ffe70404052f0014005e403618032803020330080e3608030101071201f7 +1201020e050905950b080f009514129502130c00040a0f07090f850704010800040416151112 +392f5f5e5ded3cc4103c10d4c6003ffdd6ed3f3cedcd103c5f5d713130015f5d002b00712506 +2320190123353311331121152111141633323704049d98fee9c8c8980162fe9e5448807d2f48 +0127027d87011dfee387fdac5f693900ffff00d7ffe5041405ba0236000200000106002e2300 +0013400b0228112602002828081925012b35002b350000010100000003e10583000b003a4022 +099306020106931b30059302030a93011207034200050a7f01400d006e020c016b022b2b011a +18104dfd3c10e4c4003fed3fed2b10ed313029011121152111211521112103e1fd1f02dbfdc9 +0221fddf023d05838ffe4b8ffddf0000000200d10000044a05830008001100544036e806f806 +02e702f7020202a705011193000309930812a80d0103080d180d580d680d980d0509020d7d04 +097f084013046f0212086b022b2b011a18104ded10ed5f5e5d5f5d003fed3fed3130015d005f +5d5d132120001110002901373332121110022b01d101160115014efeadfef7fee3a474c9eaeb +c8740583fe87feb7feb0fe8f8f012a01080106012d000000000300b2fe64044a042b00260032 +00420170406bb74101873101020a0d010308240101051a01b53501a519b51902035735673502 +02182428240201151a251a0203c70dd70de70d03023e140f10360e18090c3655086508021733 +0103a825b8250202d71b0103c711d711021527959825c8250202072501080025251b06113cb8 +ffc0b61416363c970538b8ffc0401d141636389706060c1b1d2d1f971e422d951b1033950c1b +11140f113620b8ffc44065111336181411113687409740028722972202681178118811981104 +0f1014183657090102071f011f1d202a859722010822382268228822040a2218368509001530 +851840850f3c110f0285401842136813010809380948095809040f0044096902431365022b2b +015f5e5d5d18104de41aedc4cd3210ed10edcd3210ed10d45e5d5ded3939c65d5f5d2b5d5d5d +2b2b2b003fed3fedf6ed12391112392fed2bd5ed2b391112392f5f5e5d5f5ded395d5f5d5f5d +5f71313001015d2b2b5f5d00005f5d5f5d5f5d5f5d5d5d5f5d5f5d5f5d5d0106151416332532 +16151404232226353437263534372e0135343633321725152316151406232237323635342623 +220615141613323635342322070623220e0115141601f892433a015f7d8bfec4d3addcaa8db6 +545ac8966c570135c72dc6982020566d6a59537171599ad99a337d4f2d165d3188018947361d +280a7a70b1d291737d5642606e5f33a25a93bd2d2f984f6b8ec4797760657277605e79fcdd89 +656806044849273d5700ffff0091ffe5043b05ba0236000500000106002e0a000029401d0219 +1126021940161736194011133619400d0f360f190100191b090325012b5d2b2b2b35002b3500 +0000000200390000049805830007000a00d3408002080909010a03040409060907380901090a +018100071400000709040908048105061405050608061806280603e806f80602020806011301 +060907370906080a93400237034703670377030400030307a706010603050401001207050108 +02a7050103080001090008020107040004030a060405090900050c0077020b0576022b2b0111 +1239192f1217391217395f5e5d5f5d5f5e5d00183f3c3c3c3f5d3c392f5f5d3c1a4dfd3c1139 +2b015f5e5d5f5d71872e184d2b087d10c487052e182b087d10c42b0705103c7dc407103c3c31 +302123032103230133130b010498ac9cfe319eaa01cdc556b9b801eefe120583fcfa0248fdb8 +000200d7fe64043b042b0010001c00b6401207030108039712019811010009100d103603b8ff +f040680d10368715a715b715c71504880c0102a709b70902038809019803018703018700a700 +b7000302117800010100e11b9503100f0f12670c770c02000ce2159509130e1b6818a818b818 +0307061706c706030d188306080601160200120d850e401e0669021d0e65022b2b011a18104d +fd3c3c5f5e5d10ed5e5d5d003f3fedfd5f5dcd3f3fedfd5f5dcd5f5d5d5d5d5f5d5f5d5d2b2b +5f5d5d5f5e5d3130013e01333212151402232226271123113319011e01333236353426232201 +7334b162b4cdd7b661a9319c9c2c96507e958e7fa5038b4858fed7eef0fec16150fdce05aefe +defe4f5876ecafb4e400000100810000044c042b001f0079b9001effd0401b081036071e0102 +070f1a140c0414e20495171d10120f100800121ab8ffe04016080f360085011a420801e30885 +0913421009e3108511b8ffc040100d1136071101071117112711030800112f5f5e5d712bede4 +10e410ede410e510ed2b003f3c3c3f3f3cede4103c103cdd3c31305f5d012b21231134232206 +15112311342322061511231133153e01333216173e01333211044c9c5c2f719b5d2e719c962c +793c3f64132c7a3bbd02acf8ab09fd1002acf8ab09fd1004129d536363535363feae00000001 +01e5ffe502dd00e5000b0016400a00b0061303af09090d0c1112392fed003fed313025321615 +1406232226353436026035484934334847e54835364d4d36364700000001007fffe5042f059e +00150083402707120109c71001881401880d01028802018708010b930bbe0c40080d360c0e93 +0804009300be15b8ffc04027080d3615139302130711010a15000c0b117d0540050515055505 +6505040b03170b6e0216056c022b2b015f5e5d1a18104ded1910c518d619c55e5d00183ffdde +2beded3ffdde2beded5d5d3130015f5d5d005d5e5d2506232000111000213216170726232202 +1110213237042fa6dbfeeefee30114011b66c83d368da8c3be0181a3ab587301780164015801 +85342b8150fee5fecefdb464000100cb000003ec04120009005e403a03080708870203140202 +036707870797070308021802680288029802050901070395060f020895400112000003070404 +08020b0768020a0265022b2b01113333182f1133332f003f1a4ded393fed395f5e5d5d87052e +2b877dc431302901350121352115012103ecfcdf0252fdbc0313fdae0252540335894dfcc400 +000100df00000404059c0015004fb47513010313b8ffe84025080d36009501039514000a0d95 +07100f0c120800060b85400f10070c0108000c16170c85182b01182f5f5e5d3cc41a4dfd3cd4 +c6003f3f3cfd3c3ffdd6ed3130002b5f5d0107262322061d0121152111231121352135343633 +320404296f58543f015efea29cfefa010688a76c05737f205f901387fc75038b8723c7a00000 +000100d1ffe503fc0583000f0057b9000affe8b3191d360ab8fff0402f0d0f3603101e213603 +1010123608030108031803f8030308020e06030a9303130d7f00087f054011006e0210056b02 +2b2b011a18104ded10ed003fed3f3c5f5e5d712b2b2b2b313001140623201901331110333236 +35113303fcc7cbfe67a4f57b73a401bcf5e201d303cbfc44feaea0b403ba0001008700000429 +0412000600944058080228023802480204090302050138050605040687000114000001050405 +06048703021403030202050137000604030f050108020102120800010c030102470557050201 +05050306000403080301130008007702070376022b2b015f5e5d113311331239192f5f5d3333 +5f5e5d00183f5d3c333f3c3c3c2b87052e184d2b087d10c487052e182b087d10c42b3130015f +5e5d090123013309010429fe758efe77aa012701270412fbee0412fcc3033d000001013301e7 +0385027f0003000db401d90203022fcd002fed3130012135210385fdae025201e798000100cd +000003d5059e0016008d405a87100103070f170f0208680701150302038e141514141415770e +870e020702010208021802280258020401140309150c990b09990e0402159901128806980602 +03140306020006890811381102110c150c1103070267020200022f5f5d17332f2f5dedc41112 +39395f5d003fed393feddded111239395f5d5f715d870e2e2b87057dc43130005d5e5d5f5d29 +0135003e01353426232207273633321615140e01012103d5fcf80127b06e8f8163a71797a5bd +e777bafef30252770149e0f67a76883d8d40d5b27ffae6fed70000030093ffe50435059e000b +0017002300c8408a980501970b019707010398050102980101781e01771801271801e7180103 +0812181202070c170c020b080618060207001700020d021ed71840120c18d76430129900040c +990613382178210228215821a821b821f8210508211821482158216821a821b821e821080b00 +1bd72140150f21d764300f8903158909400703170302100025037c0224097b022b2b015f5e5d +1a18104ded10ed2b011a18104ded5f5e5d7172003fed3fed2b001a18104ded5f5e5d5d5e5d5d +5f5d7172723130015d5f5d5f5d5d005d01321211100223220211101213321211100223220211 +10121332161514062322263534360264e0f1eae7dff2ebe6948f8f9492908f8f3f57583e3d57 +55059efe7ffea4feaffe750180015c0152018bfad70119013301340117fee2fed3fecffee502 +e2573f415d5d41405600000000010114000003fa058b000a005e40350704170402060405048d +07061407070606040707051705021001050507040903990112070300090506010601098b4003 +0b0c038b182b01182f1a4ded33332f2f3c10cd1239003ffd3c3f332f5f5e5d123939872e2b87 +7dc43130005d290135211105352533112103fafd1a012bfee601318d01178f04488da49dfb04 +000100e1ffe503e70583001a006f404507031703020802650401030016021513990202081a99 +17030a99680b01000b0d99081348105810020218108908051805680503050a050a15008b0716 +2716471667160400162f5f5ded3933332f2f5dedc45f5d003feddd5f5ded3fed12392ffdc611 +39393130015f5d005f5e5d013633321615140023222737163332363534262322072711211521 +01b24441c8e8fef2c2b97d218891819f96765654620285fe0a034a12f5b7c0fef53e8b39a695 +8d98212d02a28f000000000100c70000040c058300060046402b030100018102031402020300 +039905030102120308001800020000010207051705270587059705050800052f5f5e5dc43232 +2f5d33003f3c3fed3987052e2b877dc4313009012301213521040cfdd1a80227fd6b0345050e +faf204f48f0000000001008d00f8043f04ae000b002b401603e4010408e404be0a0700e40902 +bd06e40803030d0c1112392f3ce4fd3ce6002f3ceded103ced31300121112311213521113311 +21043ffe6b83fe66019a8301950291fe67019983019afe6600020062ff5e04790596002f003b +013140bfa709b70902029707010313200d1136973301a831013b3030311a1b1a191b101c1e1e +c8101b1410101b072de72d0218270108270108780e010277080115080178020103180201021e +1c101221cb0e38cb0e371247120212122d18301a321c1b32cb38180118182d2700cb2f2dc7a8 +0201000227c70804072a472a572a872ab72ac72ae72a0702c82401037824012408171936781b +01021b20121736070bb70b0203000b1e1b1c0310102435c8c815d8150200152a24c6880b0102 +0b3d2ac605b8ffc0b30b0e36052f2bed10d65f5ded10d65f5ded12392f173310c45f5d2b5f5d +2b5d5f5d5f5d003fedd45f5deddded1112392f5dedd43c1139331112392f5d3ced10ed113311 +395f5d5f5d5d5d5f5d5e5d715d870e2e2b057d10c40708103c08c40ec43130015d5d002b005f +5d5f5d0506232200111000333200111402232227062322263534123332173733021514163332 +3635100223220211101233323703262322061514163332363703c997aff2fed1012bf2e0011a +b993651c39694c66ad803235047d3c1712436fd8b5c2eef1c3a18ed51e3452623226394a024e +54018b014e019101cefe93fecbe7fed27777a081ca010f2519fde5271b24efb901080133fe6a +fe9efee4feac45033c25c09f5b676e170000000200b2ffe7042105a00015002100b940305715 +67157715971504670c770c0201ea0a0102180a01c80a01011709010338184818021814010188 +000102280e010308b8fff0404610133616001f9902020e1999080410991113990e13671c0102 +380b480b0203780501020800010803164200890b050b150b02100210400e1036101c89054023 +0b7c0222057b022b2b011a18104dedc42b5f5e5d10fde55f5e5d5f5d5f5d5f5d003feddded3f +ed12392fedddcd2b5f5d5f5d3130015f5d5d005f715f5d715f5d5f5d5d010623222635341233 +3212111000232227371633321203340223220615141633323703737aa5b3efe5b5ddf8feddf4 +a4781a8a74a6c7049a7d7187896f997102a66be5b5c20109fe6cfec9fec9fe49329133014201 +7abe011fa7867b9d5e0000020079000004310583000a000d005b4035070d0c0d8d0607140606 +07170c0101370c470c020206090d99010505030c070303120001088b0407980c010c0c0d0706 +17060200062f5f5d33332f5d333cfd3cc4003f3f3312392f3cfd3c395f5d5f5d87052e2b877d +c4313001231123112135013311332111010431aea4fd9a022dddaefeaefe400146feba01467d +03c0fc52030cfcf4000000010127000002f604120005001b400d0395040f0112030085010107 +061112392fedc6003f3fed313021231121352102f69cfecd01cf038b87000000000101cb048d +037305ba0003001cb403e8800200b8ffe8b6111336030100022fcd39392b002f1aed31300901 +23130373fec870c605bafed3012d000000000002000300000000001400010000000000340004 +002000000004000400010000f02effff0000f000ffff10000001000000000006006800000000 +002f0000000100020003000400050006000700080009000a000b000c000d000e000f00100011 +00120013001400150016001700180019001a001b001c001d001e001f00200021002200230024 +00250026002700280029002a002b002c002d002e058300190000058300190000000000000000 +04b0001900000000000000000412001900000000ffe700000000ffe700000000ffe70000fe64 +0000000000000000feaa00000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000800 +0000080000000000000000000000000000000000000000000000000000000000000000000000 +0000000000a4009c00000000000000000000000000000000000000000000000000d500910096 +ff2bff6fff6a00d10081005cff2fff7fffa4000000000000005fffa10037ffc9000000000000 +0095ff6b00ae000000a40000009b008b00a30000009c00000091008500ae000000a400000084 +0078000000d4000000000090000000870000009e00000091000000000000000000d4000000f0 +0000000000000000000000000000000000000000000000000000000000fa00fa0000000000d5 +00000000000000000000000000000000000000830083008300bf00bf008a0082017d004e006d +006d007f00000000006a0000000000000000000000000000000000a6ff5a0000012a00000098 +00540079006a01970000008dff7300a000b10197019a069101860048012d009002360079029c +007500ae003e00af00cd0075ff8b0032ffce00adff53ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff0066006f0077003300290055004b0050007d00a000cd003e010a +0046008c00b700820096fffffe42403b3a393837363534333231302f2e2d2c2b2a2928272625 +24232221201f1e1d1c1b1a191817161514131211100f0e0d0c0b0a090807060504030201002c +01b0184358456ab0194360b0462344231020b0464ef04d2fb000121b21231133592d2c01b018 +4358b0052bb000134bb0145058b100403859b0062b1b21231133592d2c01b01843584eb00325 +10f221b000124d1b2045b00425b00425234a6164b0285258212310d61bb0032510f221b00012 +59592d2cb01a435821211bb00225b0022549b00325b003254a612064b01050582121211bb003 +25b0032549b0005058b0005058b8ffe238211bb0103821591bb0005258b01e38211bb8fff038 +21595959592d2c01b0184358b0052bb000134bb0145058b90000ffc03859b0062b1b21231133 +592d2c4e018a10b146194344b00014b10046e2b00015b90000fff03800b0003cb0282bb00225 +10b0003c2d2c0118b0002fb00114f2b00113b001154db000122d2c01b0184358b0052bb00013 +b90000ffe038b0062b1b21231133592d2c01b018435845646a23456469b01943646060b04623 +44231020b046f02fb000121b2121208a208a525811331b212159592d2c01b10b0a432343650a +2d2c00b10a0b4323430b2d2c00b0462370b101463e01b0462370b10246453ab10200080d2d2c +b0122bb0022545b00225456ab0408b60b0022523442121212d2cb0132bb0022545b00225456a +b8ffc08c60b0022523442121212d2cb000b0122b2121212d2cb000b0132b2121212d2c01b006 +43b00743650a2d2c2069b04061b0008b20b12cc08a8cb8100062602b0c642364615c58b00361 +592d2cb1000325456854b01c4b505a58b0032545b0032545606820b004252344b0042523441b +b00325204568208a2344b00325456860b003252344592d2cb00325204568208a2344b0032545 +64686560b00425b0016023442d2cb00943588721c01bb01243588745b0112bb0472344b0477a +e41b038a45186920b04723448a8a8720b0a05158b0112bb0472344b0477ae41b21b0477ae459 +5959182d2c208a4523456860442d2c456a422d2c01182f2d2c01b0184358b00425b004254964 +23456469b0408b6120b080626ab00225b00225618cb0194360b0462344218a10b046f6211b21 +212121592d2c01b0184358b0022545b002254564606ab00325456a6120b00425456a208a8b65 +b0042523448cb00325234421211b20456a4420456a44592d2c012045b00055b018435a584568 +234569b0408b6120b080626a208a236120b003258b65b0042523448cb00325234421211b2121 +b0192b592d2c018a8a45642345646164422d2cb00425b00425b0192bb0184358b00425b00425 +b00325b01b2b01b0022543b04054b0022543b000545a58b003252045b040614459b0022543b0 +0054b0022543b040545a58b004252045b04060445959212121212d2c014b525843b002254523 +61441b2121592d2c014b525843b00225452360441b2121592d2c4b525845441b2121592d2c01 +20b003252349b04060b0206320b000525823b002253823b002256538008a63381b2121212121 +59012d2c4b505845441b2121592d2c01b005251023208af500b0016023edec2d2c01b0052510 +23208af500b0016123edec2d2c01b0062510f500edec2d2c462346608a8a462320468a608a61 +b8ff8062232010238ab14b4b8a70456020b0005058b00161b8ffba8b1bb0468c59b010606801 +3a2d2c2045b00325465258b0022546206861b00325b003253f2321381b2111592d2c2045b003 +25465058b0022546206861b00325b003253f2321381b2111592d2c00b00743b006430b2d2c8a +10ec2d2cb00c4358211b2046b0005258b8fff0381bb0103859592d2c20b0005558b8100063b0 +03254564b00325456461b0005358b0021bb04061b00359254569535845441b2121591b21b002 +2545b00225456164b028515845441b212159592d2c21210c6423648bb84000622d2c21b08051 +580c6423648bb82000621bb200402f2b59b002602d2c21b0c051580c6423648bb81555621bb2 +00802f2b59b002602d2c0c6423648bb84000626023212d2c4b5358b00425b004254964234564 +69b0408b6120b080626ab00225b00225618cb0462344218a10b046f6211b218a11231220392f +592d2cb00225b002254964b0c05458b8fff838b008381b2121592d2cb0134358031b02592d2c +b0134358021b03592d2cb00a2b2310203cb0172b2d2cb00225b8fff038b0282b8a102320d023 +b0102bb0054358c01b3c59201011b00012012d2c4b53234b515a58381b2121592d2c01b00225 +10d023c901b00113b0001410b0013cb001162d2c01b00013b001b0032549b0031738b001132d +2c4b53234b515a5820458a60441b2121592d2c20392f2d000001000000020000b0aef6555f0f +3cf5000b080000000000af2e0c8d00000000b26f91820000fe4104cd07f60000000800010000 +00000000000100000742fe42000004cd0000000004cd00010000000000000000000000000000 +002f04cd00d804cd010004cd00d704cd000004cd00b004cd009104cd00f404cd012704cd00d7 +04cd00d704cd007504cd009104cd00d504cd00aa04cd00e904cd00d704cd014604cd01ee04cd +009104cd012704cd00f004cd00d704cd010004cd00d104cd00b204cd009104cd003904cd00d7 +04cd008104cd01e504cd007f04cd00cb04cd00df04cd00d104cd008704cd013304cd00cd04cd +009304cd011404cd00e104cd00c704cd008d04cd006204cd00b204cd007904cd012704cd01cb +0000001e004000d800d8012e01aa01ce0204024c029c0326039a03e6044c051205aa05e6061c +069006a606f8070e0744079408aa08cc095009da0a460a680ad20b180b640bac0c0c0c200c8e +0d320d780ddc0e140e420f360fca10161034105200010000002f012200490051000500020010 +001b003b0000020f06b70003000240f2dfe016171cd4d516171c7b7c161b7b7c1910d474d484 +d4d4d4e4d4051076407650766f7604d1d216171c767716171c6d7016171c6c6f16171c6b6e16 +1b09006b01084f6e5f6edf6eef6eff6e05006ba06bb06b030f6e016b6e7f721af6f714151cf4 +f514151cf2f314151c747514151c676a14151c666914151c6568141b00f6c0f6023f684f685f +680300658065c06503df68ef68ff68032065406570659065040900650108656885711a197316 +7a431921794319210fe55fe502b0ec019e90111f3fb001ee93171fd9be321f9993052b949304 +2b9293032b91930a2b9395012b9798042b9895032b9695032b20ef273139410a0130012f0050 +001f0134012e002f001f012d012e401e2f1f90d7a0d7028e8d321f8d8b321f898b321f8b8532 +1f598801c1c0042bb8ffc040c0c0101339b0eac0ea027fe38fe30290853a1f817f082b7d7f08 +2b7f85072baf85191f8785002b8485042b8385042b8085011b37151836151535151234150f33 +150c3215093115063015032f15002e1526270e28270f2a2b0e2c2b0f22230e24230f1e1f0e20 +1f0f20051823390f10110c0c0d0e0c090a0b0c0607080c0304050c0001020c0f03cf03020f00 +cf000204012c1f1b011d0d18071a0d1510170d1204140d200f293639200c2936392009293639 +200629363920032936392000293639b8ffe0b310293639b8ffe0b30d293639b8ffe0b30a2936 +39b8ffe0b307293639b8ffe0b304293639b8ffe0b501293639503301b0124b004b5442b01301 +4b004b5342b0332b4bb8032052b0322b4bb008505b58b101018e59b0332bb00288b8010054b0 +0488b8020054b012435a5b58b80119b101018e851bb900010100b04b60858d592b1db0644b53 +58b0801d59b0324b5358b0901d59002b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b73732b2b2b2b +2b2b2b2b2b2b2b2b2bb1282645b02a4561b02c4560442b2b2b2b2b2b2b2b2b2b2b2b01742b2b +2b2b2b2b2b2b73732b2b752b2b2b2b732b2b2b2b002b2b2b2b2b2b2b2b2b2b732b7373012b2b +b018b0234b53422b2b5e735e74737373732b2b2b2b2b2b2b2b7473735e735e2b2b2b2b2b7373 +2b2b2b2bb109322b4bb05052424bb008524bb008505bb01a23424bb0c8524bb036505bb00c23 +420000> +] def +/f-1-0 currentdict end definefont pop +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 0 -1 592 404 +%%EndPageSetup +q 0 -1 592 405 rectclip q +0 403.504 592 -404 re W n +0 g +BT +11.2 0 0 11.2 -0.26701 395.350458 Tm +/f-0-0 1 Tf +[<0102>1<0304030506>-1<07>]TJ +ET +0.666667 0 0 rg +BT +9.6 0 0 9.6 -0.26701 382.69503 Tm +/f-1-0 1 Tf +[<0102>1<0304>1<0506>1<0708>1<0203>1<0902>1<0a03>1<0b0c>1<0d03>1<0e0c>1<0f +07>1<1011>]TJ +ET +BT +9.6 0 0 9.6 -0.26701 370.69503 Tm +/f-1-0 1 Tf +[<0802>1<1202>1<030d>1<0e03>1<0e0d>1<0804>1<0706>1<0605>1<0302>1<0b0c>1<13 +11>]TJ +ET +BT +9.6 0 0 9.6 -0.26701 358.69503 Tm +/f-1-0 1 Tf +[<0a03>1<0208>1<140d>1<0314>1<0512>1<0503>1<0d0e>1<1415>1<0316>1<0603>1<17 +10>1<0218>1<1908>]TJ +ET +BT +9.6 0 0 9.6 -0.26701 346.69503 Tm +/f-1-0 1 Tf +[<1a06>1<0317>1<1002>1<1819>1<0803>1<060d>1<0318>1<0c0e>1<1402>1<0314>1<07 +10>1<0210>1<0e0d>]TJ +ET +BT +9.6 0 0 9.6 -0.26701 334.69503 Tm +/f-1-0 1 Tf +[<0a03>1<1b05>1<080d>1<100e>1<0d03>1<0203>1<060d>1<0d10>1<0304>1<0c0d>1<08 +14>1<050e>1<0302>1<060d>1<1810>1<0d0e>]TJ +ET +BT +9.6 0 0 9.6 -0.26701 322.69503 Tm +/f-1-0 1 Tf +[<1c07>1<0d08>1<1410>1<020e>1<030e>1<0d03>1<1002>1<0e04>1<0203>1<0602>1<03 +0f>1<0210>1<1007>1<1802>1<1d>]TJ +ET +BT +9.6 0 0 9.6 -0.26701 310.69503 Tm +/f-1-0 1 Tf +[<1e0c>1<0208>1<1205>1<0314>1<070d>1<080d>1<031c>1<0c04>1<0902>1<0309>1<02 +1c>1<0f10>1<0d>]TJ +ET +BT +9.6 0 0 9.6 -0.26701 298.69503 Tm +/f-1-0 1 Tf +[<0f0c>1<0e04>1<0203>1<0f07>1<0409>1<0714>1<050e>1<0312>1<0d03>1<060c>1<1f>]TJ +ET +BT +9.6 0 0 9.6 -0.26701 286.69503 Tm +/f-1-0 1 Tf +[<0a03>1<0e0d>1<0306>1<050e>1<0304>1<051c>1<0d03>1<120d>1<0e1b>1<0204>1<07 +14>1<051d>]TJ +ET +0 g +BT +11.2 0 0 11.2 198.383875 395.350458 Tm +/f-0-0 1 Tf +[<08>-1<090a>-1<03>1<0b>-1<030c06>-1<0c030d05>-1<0e>38<0f>]TJ +ET +0 0.666667 0 rg +BT +9.6 0 0 9.6 198.383875 382.69503 Tm +/f-1-0 1 Tf +[<0102>1<0304>1<0506>1<0708>1<0203>1<0902>1<0a03>1<0b0c>1<0d03>1<0e0c>1<0f +07>1<1011>]TJ +ET +BT +9.6 0 0 9.6 198.383875 370.69503 Tm +/f-1-0 1 Tf +[<0802>1<1202>1<030d>1<0e03>1<0e0d>1<0804>1<0706>1<0605>1<0302>1<0b0c>1<13 +11>]TJ +ET +BT +9.6 0 0 9.6 198.383875 358.69503 Tm +/f-1-0 1 Tf +[<0a03>1<0208>1<140d>1<0314>1<0512>1<0503>1<0d0e>1<1415>1<0316>1<0603>1<17 +10>1<0218>1<1908>]TJ +ET +BT +9.6 0 0 9.6 198.383875 346.69503 Tm +/f-1-0 1 Tf +[<0405>1<0803>1<0e0c>1<0320>1<0c0d>1<1805>1<0307>1<0814>1<0d08>1<1402>1<10 +15>]TJ +ET +BT +9.6 0 0 9.6 198.383875 334.69503 Tm +/f-1-0 1 Tf +[<1b02>1<1002>1<1003>1<0602>1<0304>1<0508>1<0e14>1<100c>1<0404>1<0719>1<08>]TJ +ET +BT +9.6 0 0 9.6 198.383875 322.69503 Tm +/f-1-0 1 Tf +[<1b0d>1<1005>1<0309>1<020f>1<1015>1<030c>1<0802>1<030e>1<0506>1<0c04>1<07 +19>1<08>]TJ +ET +BT +9.6 0 0 9.6 198.383875 310.69503 Tm +/f-1-0 1 Tf +[<1e0c>1<0208>1<1205>1<0314>1<070d>1<080d>1<031c>1<0c04>1<0902>1<0309>1<02 +1c>1<0f10>1<0d>]TJ +ET +BT +9.6 0 0 9.6 198.383875 298.69503 Tm +/f-1-0 1 Tf +[<0f0c>1<0e04>1<0203>1<0f07>1<0409>1<0714>1<050e>1<0312>1<0d03>1<060c>1<1f>]TJ +ET +BT +9.6 0 0 9.6 198.383875 286.69503 Tm +/f-1-0 1 Tf +[<0a03>1<0e0d>1<0306>1<050e>1<0304>1<051c>1<0d03>1<120d>1<0e1b>1<0204>1<07 +14>1<051d>]TJ +ET +0 g +BT +11.2 0 0 11.2 402.74386 395.350458 Tm +/f-0-0 1 Tf +[<08>-1<090a>-1<03>1<0b>-1<030c06>-1<0c030d05>-1<0e>1<10>]TJ +ET +0.2 0.501961 0 rg +BT +9.6 0 0 9.6 402.74386 382.69503 Tm +/f-1-0 1 Tf +[<0102>1<0304>1<0506>1<0708>1<0203>1<0902>1<0a03>1<0b0c>1<0d03>1<0e0c>1<0f +07>1<1011>]TJ +ET +BT +9.6 0 0 9.6 402.74386 370.69503 Tm +/f-1-0 1 Tf +[<0802>1<1202>1<030d>1<0e03>1<0e0d>1<0804>1<0706>1<0605>1<0302>1<0b0c>1<13 +11>]TJ +ET +BT +9.6 0 0 9.6 402.74386 358.69503 Tm +/f-1-0 1 Tf +[<0a03>1<0208>1<140d>1<0314>1<0512>1<0503>1<0d0e>1<1415>1<0316>1<0603>1<17 +10>1<0218>1<1908>]TJ +ET +BT +9.6 0 0 9.6 402.74386 346.69503 Tm +/f-1-0 1 Tf +[<1a06>1<0317>1<1002>1<1819>1<0803>1<060d>1<0318>1<0c0e>1<1402>1<0314>1<07 +10>1<0210>1<0e0d>]TJ +ET +BT +9.6 0 0 9.6 402.74386 334.69503 Tm +/f-1-0 1 Tf +[<0a03>1<1b05>1<080d>1<100e>1<0d03>1<0203>1<060d>1<0d10>1<0304>1<0c0d>1<08 +14>1<050e>1<0302>1<060d>1<1810>1<0d0e>]TJ +ET +BT +9.6 0 0 9.6 402.74386 322.69503 Tm +/f-1-0 1 Tf +[<1c07>1<0d08>1<1410>1<020e>1<030e>1<0d03>1<1002>1<0e04>1<0203>1<0602>1<03 +0f>1<0210>1<1007>1<1802>1<1d>]TJ +ET +BT +9.6 0 0 9.6 402.74386 310.69503 Tm +/f-1-0 1 Tf +[<2108>1<0203>1<2006>1<0510>1<030c>1<0803>1<0405>1<1002>1<1f19>1<0811>]TJ +ET +BT +9.6 0 0 9.6 402.74386 298.69503 Tm +/f-1-0 1 Tf +[<0c08>1<0203>1<1b05>1<1004>1<0719>1<0803>1<120d>1<030e>1<0506>1<11>]TJ +ET +BT +9.6 0 0 9.6 402.74386 286.69503 Tm +/f-1-0 1 Tf +[<0a03>1<0d0e>1<1402>1<0e03>1<1802>1<0802>1<0e03>1<120d>1<0322>1<0722>1<07 +10>1<1d1d>1<1d>]TJ +ET +0 g +BT +11.2 0 0 11.2 -0.548438 270.83996 Tm +/f-0-0 1 Tf +[<08>-1<11020411>]TJ +ET +0 0.4 0.501961 rg +BT +9.6 0 0 9.6 -0.548438 258.184532 Tm +/f-1-0 1 Tf +[<0102>1<0304>1<0506>1<0708>1<0203>1<0902>1<0a03>1<0b0c>1<0d03>1<0e0c>1<0f +07>1<1011>]TJ +ET +BT +9.6 0 0 9.6 -0.548438 246.184532 Tm +/f-1-0 1 Tf +[<0802>1<1202>1<030d>1<0e03>1<0e0d>1<0804>1<0706>1<0605>1<0302>1<0b0c>1<13 +11>]TJ +ET +BT +9.6 0 0 9.6 -0.548438 234.184532 Tm +/f-1-0 1 Tf +[<0a03>1<0208>1<140d>1<0314>1<0512>1<0503>1<0d0e>1<1415>1<0316>1<0603>1<17 +10>1<0218>1<1908>]TJ +ET +BT +9.6 0 0 9.6 -0.548438 222.184532 Tm +/f-1-0 1 Tf +[<0405>1<0803>1<0e0c>1<0320>1<0c0d>1<1805>1<0307>1<0814>1<0d08>1<1402>1<10 +15>]TJ +ET +BT +9.6 0 0 9.6 -0.548438 210.184532 Tm +/f-1-0 1 Tf +[<1b02>1<1002>1<1003>1<0602>1<0304>1<0508>1<0e14>1<100c>1<0404>1<0719>1<08>]TJ +ET +BT +9.6 0 0 9.6 -0.548438 198.184532 Tm +/f-1-0 1 Tf +[<1b0d>1<1005>1<0309>1<020f>1<1015>1<030c>1<0802>1<030e>1<0506>1<0c04>1<07 +19>1<08>]TJ +ET +BT +9.6 0 0 9.6 -0.548438 186.184532 Tm +/f-1-0 1 Tf +[<2108>1<0203>1<2006>1<0510>1<030c>1<0803>1<0405>1<1002>1<1f19>1<0811>]TJ +ET +BT +9.6 0 0 9.6 -0.548438 174.184532 Tm +/f-1-0 1 Tf +[<0c08>1<0203>1<1b05>1<1004>1<0719>1<0803>1<120d>1<030e>1<0506>1<11>]TJ +ET +BT +9.6 0 0 9.6 -0.548438 162.184532 Tm +/f-1-0 1 Tf +[<0a03>1<0d0e>1<1402>1<0e03>1<1802>1<0802>1<0e03>1<120d>1<0322>1<0722>1<07 +10>1<1d1d>1<1d>]TJ +ET +0 g +BT +11.2 0 0 11.2 198.932312 259.503241 Tm +/f-0-0 1 Tf +[<12030b>-1<0b>-1<0e>38<0f>]TJ +ET +0.666667 0 0 rg +BT +9.6 0 0 9.6 198.932312 246.847814 Tm +/f-1-0 1 Tf +[<2323>1<2303>1<0510>1<0718>1<0708>1<0206>1<0324>1<2526>1<2623>1<2527>1<23 +26>1<281d>1<1d1d>]TJ +ET +0 0.666667 0 rg +BT +9.6 0 0 9.6 198.932312 234.847814 Tm +/f-1-0 1 Tf +[<2929>1<2903>1<0210>1<0409>1<0722>1<0526>1<0324>1<2526>1<2623>1<2527>1<23 +26>1<281d>1<1d1d>]TJ +ET +0 0.266667 0.666667 rg +BT +9.6 0 0 9.6 198.932312 222.847814 Tm +/f-1-0 1 Tf +[<2a2a>1<0323>1<2611>1<2b03>1<2926>1<112b>1<032a>1<2a>]TJ +ET +0 g +BT +9.6 0 0 9.6 198.932312 210.847814 Tm +/f-1-0 1 Tf +[<0301>1<0203>1<0405>1<0607>1<0802>1<0309>1<020a>1<030b>1<0c0d>1<030e>1<0c +0f>1<0710>1<11>]TJ +ET +BT +9.6 0 0 9.6 198.932312 198.847814 Tm +/f-1-0 1 Tf +[<0308>1<0212>1<0203>1<0d0e>1<030e>1<0d08>1<0407>1<0606>1<0503>1<020b>1<0c +13>1<11>]TJ +ET +BT +9.6 0 0 9.6 198.932312 186.847814 Tm +/f-1-0 1 Tf +[<030a>1<0302>1<0814>1<0d03>1<1405>1<1205>1<030d>1<0e14>1<1503>1<1606>1<03 +17>1<1002>1<1819>1<08>]TJ +ET +0.666667 0 0 rg +BT +9.6 0 0 9.6 198.932312 174.847814 Tm +/f-1-0 1 Tf +[<231a>1<0603>1<1710>1<0218>1<1908>1<0306>1<0d03>1<180c>1<0e14>1<0203>1<14 +07>1<1002>1<100e>1<0d>]TJ +ET +BT +9.6 0 0 9.6 198.932312 162.847814 Tm +/f-1-0 1 Tf +[<230a>1<031b>1<0508>1<0d10>1<0e0d>1<0302>1<0306>1<0d0d>1<1003>1<040c>1<0d +08>1<1405>1<0e03>1<0206>1<0d18>1<100d>1<0e>]TJ +ET +BT +9.6 0 0 9.6 198.932312 150.847814 Tm +/f-1-0 1 Tf +[<231c>1<070d>1<0814>1<1002>1<0e03>1<0e0d>1<0310>1<020e>1<0402>1<0306>1<02 +03>1<0f02>1<1010>1<0718>1<021d>]TJ +ET +0 0.666667 0 rg +BT +9.6 0 0 9.6 198.932312 138.847814 Tm +/f-1-0 1 Tf +[<2904>1<0508>1<030e>1<0c03>1<200c>1<0d18>1<0503>1<0708>1<140d>1<0814>1<02 +10>1<15>]TJ +ET +BT +9.6 0 0 9.6 198.932312 126.847814 Tm +/f-1-0 1 Tf +[<291b>1<0210>1<0210>1<0306>1<0203>1<0405>1<080e>1<1410>1<0c04>1<0407>1<19 +08>]TJ +ET +BT +9.6 0 0 9.6 198.932312 114.847814 Tm +/f-1-0 1 Tf +[<291b>1<0d10>1<0503>1<0902>1<0f10>1<1503>1<0c08>1<0203>1<0e05>1<060c>1<04 +07>1<1908>]TJ +ET +0 g +BT +9.6 0 0 9.6 198.932312 102.847814 Tm +/f-1-0 1 Tf +[<031e>1<0c02>1<0812>1<0503>1<1407>1<0d08>1<0d03>1<1c0c>1<0409>1<0203>1<09 +02>1<1c0f>1<100d>]TJ +ET +BT +9.6 0 0 9.6 198.932312 90.847814 Tm +/f-1-0 1 Tf +[<030f>1<0c0e>1<0402>1<030f>1<0704>1<0907>1<1405>1<0e03>1<120d>1<0306>1<0c +1f>]TJ +ET +BT +9.6 0 0 9.6 198.932312 78.847814 Tm +/f-1-0 1 Tf +[<030a>1<030e>1<0d03>1<0605>1<0e03>1<0405>1<1c0d>1<0312>1<0d0e>1<1b02>1<04 +07>1<1405>1<1d>]TJ +ET +BT +11.2 0 0 11.2 403.011047 259.503241 Tm +/f-0-0 1 Tf +[<12030b>-1<0b>-1<0e>1<10>]TJ +ET +0.666667 0 0 rg +BT +9.6 0 0 9.6 403.011047 246.847814 Tm +/f-1-0 1 Tf +[<2323>1<2303>1<0510>1<0718>1<0708>1<0206>1<0324>1<2525>1<2723>1<2527>1<23 +26>1<281d>1<1d1d>]TJ +ET +0.2 0.501961 0 rg +BT +9.6 0 0 9.6 403.011047 234.847814 Tm +/f-1-0 1 Tf +[<2929>1<2903>1<0210>1<0409>1<0722>1<0524>1<0324>1<2525>1<2723>1<2527>1<23 +26>1<281d>1<1d1d>]TJ +ET +0 0.266667 0.666667 rg +BT +9.6 0 0 9.6 403.011047 222.847814 Tm +/f-1-0 1 Tf +[<2a2a>1<0323>1<2c11>1<2803>1<292c>1<1128>1<032a>1<2a>]TJ +ET +0 g +BT +9.6 0 0 9.6 403.011047 210.847814 Tm +/f-1-0 1 Tf +[<031a>1<0603>1<1710>1<0218>1<1908>1<0306>1<0d03>1<180c>1<0e14>1<0203>1<14 +07>1<1002>1<100e>1<0d>]TJ +ET +BT +9.6 0 0 9.6 403.011047 198.847814 Tm +/f-1-0 1 Tf +[<030a>1<031b>1<0508>1<0d10>1<0e0d>1<0302>1<0306>1<0d0d>1<1003>1<040c>1<0d +08>1<1405>1<0e03>1<0206>1<0d18>1<100d>1<0e>]TJ +ET +BT +9.6 0 0 9.6 403.011047 186.847814 Tm +/f-1-0 1 Tf +[<031c>1<070d>1<0814>1<1002>1<0e03>1<0e0d>1<0310>1<020e>1<0402>1<0306>1<02 +03>1<0f02>1<1010>1<0718>1<021d>]TJ +ET +0.666667 0 0 rg +BT +9.6 0 0 9.6 403.011047 174.847814 Tm +/f-1-0 1 Tf +[<231e>1<0c02>1<0812>1<0503>1<1407>1<0d08>1<0d03>1<1c0c>1<0409>1<0203>1<09 +02>1<1c0f>1<100d>]TJ +ET +BT +9.6 0 0 9.6 403.011047 162.847814 Tm +/f-1-0 1 Tf +[<230f>1<0c0e>1<0402>1<030f>1<0704>1<0907>1<1405>1<0e03>1<120d>1<0306>1<0c +1f>]TJ +ET +BT +9.6 0 0 9.6 403.011047 150.847814 Tm +/f-1-0 1 Tf +[<230a>1<030e>1<0d03>1<0605>1<0e03>1<0405>1<1c0d>1<0312>1<0d0e>1<1b02>1<04 +07>1<1405>1<1d>]TJ +ET +0.266667 0.470588 0.129412 rg +BT +9.6 0 0 9.6 403.011047 138.847814 Tm +/f-1-0 1 Tf +[<2921>1<0802>1<0320>1<0605>1<1003>1<0c08>1<0304>1<0510>1<021f>1<1908>1<11>]TJ +ET +BT +9.6 0 0 9.6 403.011047 126.847814 Tm +/f-1-0 1 Tf +[<290c>1<0802>1<031b>1<0510>1<0407>1<1908>1<0312>1<0d03>1<0e05>1<0611>]TJ +ET +BT +9.6 0 0 9.6 403.011047 114.847814 Tm +/f-1-0 1 Tf +[<290a>1<030d>1<0e14>1<020e>1<0318>1<0208>1<020e>1<0312>1<0d03>1<2207>1<22 +07>1<101d>1<1d1d>]TJ +ET +0 g +BT +11.2 0 0 11.2 0.00000610352 146.586664 Tm +/f-0-0 1 Tf +<12030b0b>Tj +ET +0.666667 0 0 rg +BT +9.6 0 0 9.6 0.00000610352 133.931237 Tm +/f-1-0 1 Tf +[<231a>1<0603>1<1710>1<0218>1<1908>1<0306>1<0d03>1<180c>1<0e14>1<0203>1<14 +07>1<1002>1<100e>1<0d>]TJ +ET +BT +9.6 0 0 9.6 0.00000610352 121.931237 Tm +/f-1-0 1 Tf +[<230a>1<031b>1<0508>1<0d10>1<0e0d>1<0302>1<0306>1<0d0d>1<1003>1<040c>1<0d +08>1<1405>1<0e03>1<0206>1<0d18>1<100d>1<0e>]TJ +ET +BT +9.6 0 0 9.6 0.00000610352 109.931237 Tm +/f-1-0 1 Tf +[<231c>1<070d>1<0814>1<1002>1<0e03>1<0e0d>1<0310>1<020e>1<0402>1<0306>1<02 +03>1<0f02>1<1010>1<0718>1<021d>]TJ +ET +BT +9.6 0 0 9.6 0.00000610352 97.931237 Tm +/f-1-0 1 Tf +[<231e>1<0c02>1<0812>1<0503>1<1407>1<0d08>1<0d03>1<1c0c>1<0409>1<0203>1<09 +02>1<1c0f>1<100d>]TJ +ET +BT +9.6 0 0 9.6 0.00000610352 85.931237 Tm +/f-1-0 1 Tf +[<230f>1<0c0e>1<0402>1<030f>1<0704>1<0907>1<1405>1<0e03>1<120d>1<0306>1<0c +1f>]TJ +ET +BT +9.6 0 0 9.6 0.00000610352 73.931237 Tm +/f-1-0 1 Tf +[<230a>1<030e>1<0d03>1<0605>1<0e03>1<0405>1<1c0d>1<0312>1<0d0e>1<1b02>1<04 +07>1<1405>1<1d>]TJ +ET +0 0.4 0.501961 rg +BT +9.6 0 0 9.6 0.00000610352 61.931237 Tm +/f-1-0 1 Tf +[<2904>1<0508>1<030e>1<0c03>1<200c>1<0d18>1<0503>1<0708>1<140d>1<0814>1<02 +10>1<15>]TJ +ET +BT +9.6 0 0 9.6 0.00000610352 49.931237 Tm +/f-1-0 1 Tf +[<291b>1<0210>1<0210>1<0306>1<0203>1<0405>1<080e>1<1410>1<0c04>1<0407>1<19 +08>]TJ +ET +BT +9.6 0 0 9.6 0.00000610352 37.931237 Tm +/f-1-0 1 Tf +[<291b>1<0d10>1<0503>1<0902>1<0f10>1<1503>1<0c08>1<0203>1<0e05>1<060c>1<04 +07>1<1908>]TJ +ET +BT +9.6 0 0 9.6 0.00000610352 25.931237 Tm +/f-1-0 1 Tf +[<2921>1<0802>1<0320>1<0605>1<1003>1<0c08>1<0304>1<0510>1<021f>1<1908>1<11>]TJ +ET +BT +9.6 0 0 9.6 0.00000610352 13.931237 Tm +/f-1-0 1 Tf +[<290c>1<0802>1<031b>1<0510>1<0407>1<1908>1<0312>1<0d03>1<0e05>1<0611>]TJ +ET +BT +9.6 0 0 9.6 0.00000610352 1.931237 Tm +/f-1-0 1 Tf +[<290a>1<030d>1<0e14>1<020e>1<0318>1<0208>1<020e>1<0312>1<0d03>1<2207>1<22 +07>1<101d>1<1d1d>]TJ +ET +0.701961 g +0.8 w +0 J +0 j +[] 0.0 d +4 M q 1 0 0 -1 0 403.504364 cm +193.906 13.945 m 193.906 327.09 l S Q +0.6 g +q 1 0 0 -1 0 403.504364 cm +397.906 12.23 m 397.906 291.09 l S Q +Q Q +showpage +%%Trailer +count op_count sub {pop} repeat +countdictstack dict_count sub {end} repeat +cairo_eps_state restore +%%EOF diff --git a/charla_scm_exactas/merge.pdf b/charla_scm_exactas/merge.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3894d3d1342195657e6f1e3697c63e48a065d7de GIT binary patch literal 24540 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 I*Olo12VOD#dH?_b literal 0 HcmV?d00001 diff --git a/charla_scm_exactas/merge.svg b/charla_scm_exactas/merge.svg new file mode 100644 index 0000000..990f570 --- /dev/null +++ b/charla_scm_exactas/merge.svg @@ -0,0 +1,522 @@ + + + + + + + + + + image/svg+xml + + + + + + + OriginalLa colina hay que subir,nada es sencillo aquí,y ante todo está El DragónAl Dragón le gusta tirarsey ponerse a leer cuentos alegresmientras se rasca la barriga.Cuando tiene mucha hambrebusca bichitos de luzy se los come despacito. + Modificación ALa colina hay que subir,nada es sencillo aquí,y ante todo está El Dragóncon su fuego intentaráparar la construcciónpero habrá una soluciónCuando tiene mucha hambrebusca bichitos de luzy se los come despacito. + Modificación BLa colina hay que subir,nada es sencillo aquí,y ante todo está El DragónAl Dragón le gusta tirarsey ponerse a leer cuentos alegresmientras se rasca la barriga.Una flor un corazón,una porción de sol,y estas ganas de vivir... + MergeLa colina hay que subir,nada es sencillo aquí,y ante todo está El Dragóncon su fuego intentaráparar la construcciónpero habrá una soluciónUna flor un corazón,una porción de sol,y estas ganas de vivir... + Diff A--- original 2011-05-17...+++ archivo1 2011-05-17...@@ -1,9 +1,9 @@ La colina hay que subir, nada es sencillo aquí, y ante todo está El Dragón-Al Dragón le gusta tirarse-y ponerse a leer cuentos alegres-mientras se rasca la barriga.+con su fuego intentará+parar la construcción+pero habrá una solución Cuando tiene mucha hambre busca bichitos de luz y se los come despacito. + Diff B--- original 2005-05-17...+++ archivo2 2005-05-17...@@ -4,7 +4,7 @@ Al Dragón le gusta tirarse y ponerse a leer cuentos alegres mientras se rasca la barriga.-Cuando tiene mucha hambre-busca bichitos de luz-y se los come despacito.+Una flor un corazón,+una porción de sol,+y estas ganas de vivir... + Diff-Al Dragón le gusta tirarse-y ponerse a leer cuentos alegres-mientras se rasca la barriga.-Cuando tiene mucha hambre-busca bichitos de luz-y se los come despacito.+con su fuego intentará+parar la construcción+pero habrá una solución+Una flor un corazón,+una porción de sol,+y estas ganas de vivir... + + + + diff --git a/charla_scm_exactas/presentacion.rst b/charla_scm_exactas/presentacion.rst new file mode 100644 index 0000000..a22ae18 --- /dev/null +++ b/charla_scm_exactas/presentacion.rst @@ -0,0 +1,185 @@ + +============================ +ABC del Control de Versiones +============================ + +:Autor: Leandro Lucarella +:Fecha: Mayo 2011 +:Organización: Grupo de Usuarios y Desarrolladores de Software Libre y Abierto \ + de la Facultad de Ingeniería de la UBA (LUGFI) + + +Introducción +~~~~~~~~~~~~ +* Motivación +* Subjetividad +* Código (!metodologías) + + +El proceso de desarrollo de software +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +* Proceso social y creativo +* Construcción iterativa y lógica + + * Comienza vacío + * Cambios con un objetivo determinado + + * Características nuevas / mejoras + * Corrección de errores + +* *Changesets* + +.. Notas: + * Proceso social y creativo + * => problemas inherentes a este tipo de procesos + * Construcción iterativa y lógica + * Analogía de escultura + + +Grupos de trabajo +~~~~~~~~~~~~~~~~~ +* División del trabajo +* Coordinación de las partes +* Comunicación entre partes +* Trabajo en simultáneo => complejidad técnica respecto del código +* Relaciones asimétricas y flujo de trabajo +* Integración + +.. Notas: + * Evitar que dos personas trabajen sobre lo mismo + * Desde el punto de vista de código, no tocar lo mismo 2 personas + * No cambiar una interfaz sin avisar al resto o arreglarlo uno también + * Relaciones asimétricas y flujo de trabajo + * Distintos perfiles (revisión) + * Distintas formas de trabajar + * Subgrupos + * Integración + * como se unen todos estos trabajos individuales + + +Capacidad de revisión +~~~~~~~~~~~~~~~~~~~~~ +* Visión global del desarrollo + + * Poder ver qué cambios fueron introducidos + +* Detección temprana de errores + + * 4 ojos ven más que 2 (y 150 más que 4) + +* Grupos con estructuras jerárquicas + + * Puestos jerárquicos + * Auditoría de seguridad + +* Mejorar documentación + + * Si no se entiende que hace, probablemente esté mal documentado + +* Aprender del trabajo del otro + +.. Notas: + * Vision global -> analogía de escultura + + +Herramientas: ``diff + patch`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +* Herramientas más viejas y usadas +* ``diff`` +* ``patch`` +* Formato *unificado* del ``diff`` +* Lectura de ``diff``\ s +* Operación *a pulmón* con estas herramientas + + +Ejemplo de ``diff`` +~~~~~~~~~~~~~~~~~~~ +.. image:: diff.pdf + :scale: 70% + + +Sistemas para la administración de código fuente +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +* Representación del código como una base y su conjunto de *changesets* + + * Manejar y administrar *changesets* + +* Siglas para todos los gustos + + * SCM (la que a mí me gusta) + * VCS (la que está más de moda) + * CMS (la que nadie usa) + * (otras?) + +* Objetivo básico de los SCMs +* Repositorios +* Aplicación de *changesets*: *commit* +* Historial de cambios +* Manejo de versiones (en simultáneo) + + +Manipulando repositorios +~~~~~~~~~~~~~~~~~~~~~~~~ +* Bifurcación del tiempo-espacio: *Branches* +* Aplicación de *changesets* en distintos *branches* +* Reunión del tiempo-espacio: *Merges* +* Mucho manoseo: *Conflictos* + + +Ejemplo de *merge* +~~~~~~~~~~~~~~~~~~ +.. image:: merge.pdf + :scale: 55% + + +Historia de un repositorio +~~~~~~~~~~~~~~~~~~~~~~~~~~ +* Importancia de la historia de la evolución del código +* Revisión de cambios +* *Backtracking* de *bugs* y regresiones + + * *Changesets* que compilen y anden + * Escribir buenos mensajes de *commit*! + +* Ver quién manipuló el código +* Pensar en *changesets* + + +Dos formas de ver a los SCMs +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +* Distribuidos +* Centralizados + + +SCMs Centralizados +~~~~~~~~~~~~~~~~~~ +* Un sólo repositorio con todas las letras +* El repositorio central incluye los *branches* +* Noción de línea de tiempo +* Al haber necesariamente un servidor centralizado el *setup* puede ser más + complejo +* La mayoría de las operaciones necesitan conexión + + +SCMs Distribuidos +~~~~~~~~~~~~~~~~~ +* No existe un repositorio central, son todos pares +* No necesariamente basados en líneas de tiempo +* Permiten el trabajo *offline* +* Se concentran en mantener la historia +* El *merge* cobra mayor importancia + +**Se adapta mejor a una realidad distribuida** + + +Preguntas +~~~~~~~~~ +¿? + + +Fin +~~~ +¡Gracias! + + +.. vim: set et sw=4 sts=4 spell spelllang=es : diff --git a/charla_scm_exactas/rst2beamer.py b/charla_scm_exactas/rst2beamer.py new file mode 100644 index 0000000..e764602 --- /dev/null +++ b/charla_scm_exactas/rst2beamer.py @@ -0,0 +1,1323 @@ +#!/usr/bin/env python +# encoding: utf-8 +""" +A docutils script converting restructured text into Beamer-flavoured LaTeX. + +Beamer is a LaTeX document class for presentations. Via this script, ReST can +be used to prepare slides. It can be called:: + + rst2beamer.py infile.txt > outfile.tex + +where ``infile.txt`` contains the rst and ``outfile.tex`` contains the +Beamer-flavoured LaTeX. + +See for more details. + +""" +# TODO: modifications for handout sections? +# TOOD: sections and subsections? +# TODO: convert document metadata to front page fields? +# TODO: toc-conversion? +# TODO: fix descriptions +# TODO: 'r2b' or 'beamer' as identifying prefix? + + +# This file has been modified by Ryan Krauss starting on 2009-03-25. +# Please contact him if it is broken: ryanwkrauss@gmail.com + +__docformat__ = 'restructuredtext en' +__author__ = "Ryan Krauss & Paul-Michael Agapow " +__version__ = "0.6.6" + + +### IMPORTS ### + +import re +import pdb + +try: + locale.setlocale (locale.LC_ALL, '') +except: + pass + +from docutils.core import publish_cmdline, default_description +from docutils.writers.latex2e import Writer as Latex2eWriter +from docutils.writers.latex2e import LaTeXTranslator, DocumentClass +from docutils import nodes +from docutils.nodes import fully_normalize_name as normalize_name +from docutils.parsers.rst import directives, Directive +from docutils import frontend +from docutils.writers.latex2e import PreambleCmds +## CONSTANTS & DEFINES ### + +SHOWNOTES_FALSE = 'false' +SHOWNOTES_TRUE = 'true' +SHOWNOTES_ONLY = 'only' +SHOWNOTES_LEFT = 'left' +SHOWNOTES_RIGHT = 'right' +SHOWNOTES_TOP = 'top' +SHOWNOTES_BOTTOM = 'bottom' + +SHOWNOTES_OPTIONS = [ + SHOWNOTES_FALSE, + SHOWNOTES_TRUE, + SHOWNOTES_ONLY, + SHOWNOTES_LEFT, + SHOWNOTES_RIGHT, + SHOWNOTES_TOP, + SHOWNOTES_BOTTOM, +] + +HILITE_OPTIONS = { + 'python': 'python', + 'guess': 'guess', + 'c++': 'cpp', +} + +BEAMER_SPEC = ( + 'Beamer options', + 'These are derived almost entirely from the LaTeX2e options', + tuple ( + [ + ( + 'Specify theme.', + ['--theme'], + {'default': 'Warsaw', } + ), + ( + 'Overlay bulleted items. Put [<+-| alert@+>] at the end of ' + '\\begin{itemize} so that Beamer creats an overlay for each ' + 'bulleted item and the presentation reveals one bullet at a time', + ['--overlaybullets'], + {'default': True, } + ), + ( + 'Default for whether or not to pass the fragile option to ' + 'the beamber frames (slides).', + ['--fragile-default'], + {'default': True, } + ), + + ( + 'Center figures. All includegraphics statements will be put ' + 'inside center environments.', + ['--centerfigs'], + {'default': True, } + ), + ( + # TODO: this doesn't seem to do anything ... + 'Specify document options. Multiple options can be given, ' + 'separated by commas. Default is "10pt,a4paper".', + ['--documentoptions'], + {'default': '', } + ), +## ( +## 'Attach author and date to the document title.', +## ['--use-latex-docinfo'], +## {'default': 1, 'action': 'store_true', +## 'validator': frontend.validate_boolean} +## ), + ( + "Print embedded notes along with the slides. Possible " + "arguments include 'false' (don't show), 'only' (show " + "only notes), 'left', 'right', 'top', 'bottom' (show in " + "relation to the annotated slide).", + ['--shownotes'], + { + 'action': "store", + 'type': 'choice', + 'dest': 'shownotes', + 'choices': SHOWNOTES_OPTIONS, + 'default': SHOWNOTES_FALSE, + } + ), + # should the pygments highlighter be used for codeblocks? + ( + "Use the Pygments syntax highlighter to color blocks of " + "code. Otherwise, they will be typeset as simple literal " + "text. Obviously Pygments must be installed or an error. " + "will be raised. ", + ['--codeblocks-use-pygments'], + { + 'action': "store_true", + 'dest': 'cb_use_pygments', + 'default': False, + } + ), + # replace tabs inside codeblocks? + ( + "Replace the leading tabs in codeblocks with spaces.", + ['--codeblocks-replace-tabs'], + { + 'action': 'store', + 'type': int, + 'dest': 'cb_replace_tabs', + 'default': 0, + } + ), + # what language the codeblock is if not specified + ( + "The default language to hilight code blocks as. ", + ['--codeblocks-default-language'], + { + 'action': 'store', + 'type': 'choice', + 'dest': 'cb_default_lang', + 'choices': HILITE_OPTIONS.values(), + 'default': 'guess', + } + ), + ] + list (Latex2eWriter.settings_spec[2][2:]) + ), +) + +BEAMER_DEFAULTS = { + 'use_latex_toc': True, + 'output_encoding': 'latin-1', + 'documentclass': 'beamer', + 'documentoptions': 't',#text is at the top of each slide rather than centered. Changing to 'c' centers the text on each slide (vertically) +} + +BEAMER_DEFAULT_OVERRIDES = {'use_latex_docinfo': 1} + + +bool_strs = ['false','true','0','1'] +bool_vals = [False, True, False, True] +bool_dict = dict (zip (bool_strs, bool_vals)) + +PreambleCmds.documenttitle = r""" +%% Document title +\title[%s]{%s} +\author[%s]{%s} +\date{%s} +\maketitle +""" + +docinfo_w_institute = r""" +%% Document title +\title[%s]{%s} +\author[%s]{%s} +\date{%s} +\institute{%s} +\maketitle +""" + +### IMPLEMENTATION ### + +### UTILS + +LEADING_SPACE_RE = re.compile ('^ +') + +def adjust_indent_spaces (strn, orig_width=8, new_width=3): + """ + Adjust the leading space on a string so as to change the indent width. + + :Parameters: + strn + The source string to change. + orig_width + The expected width for an indent in the source string. + new_width + The new width to make an ident. + + :Returns: + The original string re-indented. + + That takes strings that may be indented by a set number of spaces (or its + multiple) and adjusts the indent for a new number of spaces. So if the + expected indent width is 8 and the desired ident width is 3, a string has + been indented by 16 spaces, will be changed to have a indent of 6. + + For example:: + + >>> adjust_indent_spaces (' foo') + ' foo' + >>> adjust_indent_spaces (' foo', orig_width=2, new_width=1) + ' foo' + + This is useful where meaningful indent must be preserved (i.e. passed + through) ReST, especially tabs when used in the literal environments. ReST + transforms tabs-as-indents to 8 spaces, which leads to excessively spaced + out text. This function can be used to adjust the indent step to a + reasonable size. + + .. note:: + + Excess spaces (those above and beyond a multiple of the original + indent width) will be preserved. Only indenting spaces will be + handled. Mixing tabs and spaces is - as always - a bad idea. + + """ + ## Preconditions & preparation: + assert (1 <= orig_width) + assert (0 <= new_width) + if (orig_width == new_width): + return strn + ## Main: + match = LEADING_SPACE_RE.match (strn) + if (match): + indent_len = match.end() - match.start() + indent_cnt = indent_len / orig_width + indent_depth = indent_cnt * orig_width + strn = ' ' * indent_cnt * new_width + strn[indent_depth:] + return strn + + +def index (seq, f, fail=None): + """ + Return the index of the first item in seq where f(item) is True. + + :Parameters: + seq + A sequence or iterable + f + A boolean function an element of `seq`, e.g. `lambda x: x==4` + fail + The value to return if no item is found in seq. + + While this could be written in a neater fashion in Python 2.6, this method + maintains compatiability with earlier version. + """ + for index in (i for i in xrange (len (seq)) if f (seq[i])): + return index + return fail + + +def node_has_class (node, classes): + """ + Does the node have one of these classes? + + :Parameters: + node + A docutils node + class + A class name or list of class names. + + :Returns: + A boolean indicating membership. + + A convenience function, largely for testing for the special class names + in containers. + """ + ## Preconditions & preparation: + # wrap single name in list + if (not (issubclass (type (classes), list))): + classes = [classes] + ## Main: + for cname in classes: + if cname in node['classes']: + return True + return False + + +def node_lang_class (node): + """ + Extract a language specification from a node class names. + + :Parameters: + node + A docutils node + + :Returns: + A string giving a language abbreviation (e.g. 'py') or None if no + langauge is found. + + Some sourcecode containers can pass a (programming) language specification + by passing it via a classname like 'lang-py'. This function searches a + nodes classnames for those starting with 'lang-' and returns the trailing + portion. Note that if more than one classname matches, only the first is + seen. + """ + ## Main: + for cname in node['classes']: + if (cname.startswith ('lang-')): + return cname[5:] + return None + + +def wrap_children_in_columns (par_node, children, width=None): + """ + Replace this node's children with columns containing the passed children. + + :Parameters: + par_node + The node whose children are to be replaced. + children + The new child nodes, to be wrapped in columns and added to the + parent. + width + The width to be assigned to the columns. + + In constructing columns for beamer using either 'simplecolumns' approach, + we have to wrap the original elements in column nodes, giving them an + appropriate width. Note that this mutates parent node. + """ + ## Preconditions & preparation: + # TODO: check for children and raise error if not? + width = width or 0.90 + ## Main: + # calc width of child columns + child_cnt = len (children) + col_width = width / child_cnt + # set each element of content in a column and add to column set + new_children = [] + for child in children: + col = column() + col.width = col_width + col.append (child) + new_children.append (col) + par_node.children = new_children + + +def has_sub_sections (node): + """Test whether or not a section node has children with the + tagname section. The function is going to be used to assess + whether or not a certain section is the lowest level. Sections + that have not sub-sections (i.e. no children with the tagname + section) are assumed to be Beamer slides""" + for child in node.children: + if child.tagname == 'section': + return True + return False + + +def string_to_bool (stringin, default=True): + """ + Turn a commandline arguement string into a boolean value. + """ + if type (stringin) == bool: + return stringin + temp = stringin.lower() + if temp not in bool_strs: + return default + else: + return bool_dict[temp] + + +def highlight_code (text, lang): + """ + Syntax-highlight source code using Pygments. + + :Parameters: + text + The code to be formatted. + lang + The language of the source code. + + :Returns: + A LaTeX formatted representation of the source code. + + """ + ## Preconditions & preparation: + from pygments import highlight + from pygments.formatters import LatexFormatter + ## Main: + lexer = get_lexer (text, lang) + lexer.add_filter('whitespace', tabsize=3, tabs=' ') + return highlight (text, lexer, LatexFormatter(tabsize=3)) + + +def get_lexer (text, lang): + """ + Return the Pygments lexer for parsing this sourcecode. + + :Parameters: + text + The sourcecode to be lexed for highlighting. This is analysed if + the language is 'guess'. + lang + An abbreviation for the programming langauge of the code. Can be + any 'name' accepted by Pygments, including 'none' (plain text) or + 'guess' (analyse the passed code for clues). + + :Returns: + A Pygments lexer. + + """ + # TODO: what if source has errors? + ## Preconditions & preparation: + from pygments.lexers import (get_lexer_by_name, TextLexer, guess_lexer) + ## Main: + if lang == 'guess': + try: + return guess_lexer (text) + except Exception: + return None + elif lang == 'none': + return TextLexer + else: + return get_lexer_by_name (lang) + + + +### NODES ### +# Special nodes for marking up beamer layout + +class columnset (nodes.container): + """ + A group of columns to display on one slide. + + Named as per docutils standards. + """ + # NOTE: a simple container, has no attributes. + + +class column (nodes.container): + """ + A single column, grouping content. + + Named as per docutils standards. + """ + # TODO: should really init width in a c'tor + +class beamer_note (nodes.container): + """ + Annotations for a beamer presentation. + + Named as per docutils standards and to distinguish it from core docutils + node type. + """ + pass + + +### DIRECTIVES + +class CodeBlockDirective (Directive): + """ + Directive for a code block with special highlighting or line numbering + settings. + + Unabashedly borrowed from the Sphinx source. + """ + has_content = True + required_arguments = 0 + optional_arguments = 1 + final_argument_whitespace = False + option_spec = { + 'linenos': directives.flag, + } + + def run (self): + # extract langauge from block or commandline + # we allow the langauge specification to be optional + try: + language = self.arguments[0] + except IndexError: + language = 'guess' + code = u'\n'.join (self.content) + literal = nodes.literal_block (code, code) + literal['classes'].append ('code-block') + literal['language'] = language + literal['linenos'] = 'linenos' in self.options + return [literal] + +for name in ['code-block', 'sourcecode']: + directives.register_directive (name, CodeBlockDirective) + + +class SimpleColsDirective (Directive): + """ + A directive that wraps all contained nodes in beamer columns. + + Accept 'width' as an optional argument for total width of contained + columns. + """ + required_arguments = 0 + optional_arguments = 1 + final_argument_whitespace = True + has_content = True + option_spec = {'width': float} + + def run (self): + ## Preconditions: + self.assert_has_content() + # get width + width = self.options.get ('width', 0.9) + if (width <= 0.0) or (1.0 < width): + raise self.error ("columnset width '%f' must be between 0.0 and 1.0" % width) + ## Main: + # parse content of columnset + dummy = nodes.Element() + self.state.nested_parse (self.content, self.content_offset, + dummy) + # make columnset + text = '\n'.join (self.content) + cset = columnset (text) + # wrap children in columns & set widths + wrap_children_in_columns (cset, dummy.children, width) + ## Postconditions & return: + return [cset] + +for name in ['r2b-simplecolumns', 'r2b_simplecolumns']: + directives.register_directive (name, SimpleColsDirective) + + +class ColumnSetDirective (Directive): + """ + A directive that encloses explicit columns in a 'columns' environment. + + Within this, columns are explcitly set with the column directive. There is + a single optional argument 'width' to determine the total width of + columns on the page, expressed as a fraction of textwidth. If no width is + given, it defaults to 0.90. + + Contained columns may have an assigned width. If not, the remaining width + is divided amongst them. Contained columns can 'overassign' width, + provided all column widths are defined. + + """ + required_arguments = 0 + optional_arguments = 1 + final_argument_whitespace = True + has_content = True + option_spec = {'width': float} + + def run (self): + ## Preconditions: + self.assert_has_content() + # get and check width of column set + width = self.options.get ('width', 0.9) + if ((width <= 0.0) or (1.0 < width)): + raise self.error ( \ + "columnset width '%f' must be between 0.0 and 1.0" % width) + ## Main: + # make columnset + text = '\n'.join (self.content) + cset = columnset (text) + # parse content of columnset + self.state.nested_parse (self.content, self.content_offset, cset) + # survey widths + used_width = 0.0 + unsized_cols = [] + for child in cset: + child_width = getattr (child, 'width', None) + if (child_width): + used_width += child_width + else: + unsized_cols.append (child) + + if (1.0 < used_width): + raise self.error ( \ + "cumulative column width '%f' exceeds 1.0" % used_width) + # set unsized widths + if (unsized_cols): + excess_width = width - used_width + if (excess_width <= 0.0): + raise self.error ( \ + "no room for unsized columns '%f'" % excess_width) + col_width = excess_width / len (unsized_cols) + for child in unsized_cols: + child.width = col_width + elif (width < used_width): + # TODO: should post a warning? + pass + ## Postconditions & return: + return [cset] + +for name in ['r2b-columnset', 'r2b_columnset']: + directives.register_directive (name, ColumnSetDirective) + + +class ColumnDirective (Directive): + """ + A directive to explicitly create an individual column. + + This can only be used within the columnset directive. It can takes a + single optional argument 'width' to determine the column width on page. + If no width is given, it is recorded as None and should be later assigned + by the enclosing columnset. + """ + required_arguments = 0 + optional_arguments = 1 + final_argument_whitespace = True + has_content = True + option_spec = {'width': float} + + def run (self): + ## Preconditions: + self.assert_has_content() + # get width + width = self.options.get ('width', None) + if (width is not None): + if (width <= 0.0) or (1.0 < width): + raise self.error ("columnset width '%f' must be between 0.0 and 1.0" % width) + ## Main: + # make columnset + text = '\n'.join (self.content) + col = column (text) + col.width = width + # parse content of column + self.state.nested_parse (self.content, self.content_offset, col) + # adjust widths + ## Postconditions & return: + return [col] + +for name in ['r2b-column', 'r2b_column']: + directives.register_directive (name, ColumnDirective) + + +class NoteDirective (Directive): + """ + A directive to include notes within a beamer presentation. + + """ + required_arguments = 0 + optional_arguments = 0 + final_argument_whitespace = True + has_content = True + option_spec = {} + + def run (self): + ## Preconditions: + self.assert_has_content() + ## Main: + ## Preconditions: + # make columnset + text = '\n'.join (self.content) + note_node = beamer_note (text) + # parse content of note + self.state.nested_parse (self.content, self.content_offset, note_node) + ## Postconditions & return: + return [note_node] + +for name in ['r2b-note', 'r2b_note']: + directives.register_directive (name, NoteDirective) + + +class beamer_section (Directive): + + required_arguments = 1 + optional_arguments = 0 + final_argument_whitespace = True + has_content = True + + def run (self): + title = self.arguments[0] + + section_text = '\\section{%s}' % title + text_node = nodes.Text (title) + text_nodes = [text_node] + title_node = nodes.title (title, '', *text_nodes) + name = normalize_name (title_node.astext()) + + section_node = nodes.section(rawsource=self.block_text) + section_node['names'].append(name) + section_node += title_node + messages = [] + title_messages = [] + section_node += messages + section_node += title_messages + section_node.tagname = 'beamer_section' + return [section_node] + +for name in ['beamer_section', 'r2b-section', 'r2b_section']: + directives.register_directive (name, beamer_section) + + +### WRITER + +class BeamerTranslator (LaTeXTranslator): + """ + A converter for docutils elements to beamer-flavoured latex. + """ + + def __init__ (self, document): + LaTeXTranslator.__init__ (self, document) + + self.organization = None#used for Beamer title and possibly + #header/footer. Set from docinfo + # record the the settings for codeblocks + self.cb_use_pygments = document.settings.cb_use_pygments + self.cb_replace_tabs = document.settings.cb_replace_tabs + self.cb_default_lang = document.settings.cb_default_lang + + self.head_prefix = [x for x in self.head_prefix + if ('{typearea}' not in x)] + #hyperref_posn = [i for i in range (len (self.head_prefix)) + # if ('{hyperref}' in self.head_prefix[i])] + hyperref_posn = index (self.head_prefix, + lambda x: '{hyperref}\n' in x) + if (hyperref_posn is None): + self.head_prefix.extend ([ + '\\usepackage{hyperref}\n' + ]) + + #self.head_prefix[hyperref_posn[0]] = '\\usepackage{hyperref}\n' + self.head_prefix.extend ([ + '\\definecolor{rrblitbackground}{rgb}{0.55, 0.3, 0.1}\n', + '\\newenvironment{rtbliteral}{\n', + '\\begin{ttfamily}\n', + '\\color{rrblitbackground}\n', + '}{\n', + '\\end{ttfamily}\n', + '}\n', + ]) + + if (self.cb_use_pygments): + #from pygments.formatters import LatexFormatter + #fmtr = LatexFormatter() + self.head_prefix.extend ([ + '\\usepackage{fancyvrb}\n', + '\\usepackage{color}\n', + #LatexFormatter().get_style_defs(), + ]) + + # set appropriate header options for theming + theme = document.settings.theme + if theme: + self.head_prefix.append ('\\usetheme{%s}\n' % theme) + + # set appropriate header options for note display + shownotes = document.settings.shownotes + if shownotes == SHOWNOTES_TRUE: + shownotes = SHOWNOTES_RIGHT + use_pgfpages = True + if (shownotes == SHOWNOTES_FALSE): + option_str = 'hide notes' + use_pgfpages = False + elif (shownotes == SHOWNOTES_ONLY): + option_str = 'show only notes' + else: + if (shownotes == SHOWNOTES_LEFT): + notes_posn = 'left' + elif (shownotes in SHOWNOTES_RIGHT): + notes_posn = 'right' + elif (shownotes == SHOWNOTES_TOP): + notes_posn = 'top' + elif (shownotes == SHOWNOTES_BOTTOM): + notes_posn = 'bottom' + else: + # TODO: better error handling + assert False, "unrecognised option for shownotes '%s'" % shownotes + option_str = 'show notes on second screen=%s' % notes_posn + if use_pgfpages: + self.head_prefix.append ('\\usepackage{pgfpages}\n') + self.head_prefix.append ('\\setbeameroption{%s}\n' % option_str) + self.head_prefix.append ('\\usepackage{xmpmulti}\n') + + if (self.cb_use_pygments): + from pygments.formatters import LatexFormatter + fmtr = LatexFormatter() + self.head_prefix.extend ([ + LatexFormatter().get_style_defs(), + ]) + + self.overlay_bullets = string_to_bool (document.settings.overlaybullets, False) + self.fragile_default = string_to_bool (document.settings.fragile_default, True) + #using a False default because + #True is the actual default. If you are trying to pass in a value + #and I can't determine what you really meant, I am assuming you + #want something other than the actual default. + self.centerfigs = string_to_bool(document.settings.centerfigs, False)#same reasoning as above + self.in_columnset = False + self.in_column = False + self.in_note = False + self.frame_level = 0 + + # this fixes the hardcoded section titles in docutils 0.4 + self.d_class = DocumentClass ('article') + + + def depart_document(self, node): + # Complete header with information gained from walkabout + # a) conditional requirements (before style sheet) + self.requirements = self.requirements.sortedvalues() + # b) coditional fallback definitions (after style sheet) + self.fallbacks = self.fallbacks.sortedvalues() + # c) PDF properties + self.pdfsetup.append(PreambleCmds.linking % (self.colorlinks, + self.hyperlink_color, + self.hyperlink_color)) + if self.pdfauthor: + authors = self.author_separator.join(self.pdfauthor) + self.pdfinfo.append(' pdfauthor={%s}' % authors) + if self.pdfinfo: + self.pdfsetup += [r'\hypersetup{'] + self.pdfinfo + ['}'] + # Complete body + # a) document title (part 'body_prefix'): + # NOTE: Docutils puts author/date into docinfo, so normally + # we do not want LaTeX author/date handling (via \maketitle). + # To deactivate it, we add \title, \author, \date, + # even if the arguments are empty strings. + if self.title or self.author_stack or self.date: + authors = ['\\\\\n'.join(author_entry) + for author_entry in self.author_stack] + title = [''.join(self.title)] + self.title_labels + shorttitle = ''.join(self.title) + shortauthor = ''.join(self.pdfauthor) + + if self.subtitle: + title += [r'\\ % subtitle', + r'\large{%s}' % ''.join(self.subtitle) + ] + self.subtitle_labels + docinfo_list = [shorttitle, + '%\n '.join(title), + shortauthor, + ' \\and\n'.join(authors), + ', '.join(self.date)] + if self.organization is None: + docinfo_str = PreambleCmds.documenttitle % tuple(docinfo_list) + else: + docinfo_list.append(self.organization) + docinfo_str = docinfo_w_institute % tuple(docinfo_list) + self.body_pre_docinfo.append(docinfo_str) + # b) bibliography + # TODO insertion point of bibliography should be configurable. + if self._use_latex_citations and len(self._bibitems)>0: + if not self.bibtex: + widest_label = '' + for bi in self._bibitems: + if len(widest_label)0: + ## options = '[%s]' % (','.join(include_graphics_options)) + ## self.out.append( '\\includegraphics%s{%s}' % ( + ## options, attrs['uri'] ) ) + ## self.out.extend( post ) + + + ## def depart_image(self, node): + ## #This goes with the old approach above + ## if self.centerfigs: + ## self.out.append('\\end{center}\n') + + + ## def visit_Text (self, node): + ## self.out.append(self.encode(node.astext())) + + def depart_Text(self, node): + pass + + + def node_fragile_check(self, node): + """Check whether or not a slide should be marked as fragile. + If the slide has class attributes of fragile or notfragile, + then the document default is overriden.""" + if 'notfragile' in node.attributes['classes']: + return False + elif 'fragile' in node.attributes['classes']: + return True + else: + return self.fragile_default + + + def begin_frametag (self, node): + bf_str = '\n\\begin{frame}' + if self.node_fragile_check(node): + bf_str += '[fragile]' + bf_str += '\n' + return bf_str + + + def end_frametag (self): + return '\\end{frame}\n' + + def visit_section (self, node): + if has_sub_sections (node): + temp = self.section_level + 1 + if temp > self.frame_level: + self.frame_level = temp + else: + self.out.append (self.begin_frametag(node)) + LaTeXTranslator.visit_section (self, node) + + + def bookmark (self, node): + """I think beamer alread handles bookmarks well, so I + don't want duplicates.""" + return '' + + def depart_section (self, node): + # Remove counter for potential subsections: + LaTeXTranslator.depart_section (self, node) + if (self.section_level == self.frame_level):#0 + self.out.append (self.end_frametag()) + + + def visit_title (self, node): + if node.astext() == 'dummy': + raise nodes.SkipNode + if (self.section_level == self.frame_level+1):#1 + self.out.append ('\\frametitle{%s}\n\n' % \ + self.encode(node.astext())) + raise nodes.SkipNode + else: + LaTeXTranslator.visit_title (self, node) + + def depart_title (self, node): + if (self.section_level != self.frame_level+1):#1 + LaTeXTranslator.depart_title (self, node) + + + def visit_literal_block (self, node): + # FIX: the purpose of this method is unclear, but it causes parsed + # literals in docutils 0.6 to lose indenting. Thus we've solve the + # problem be just getting rid of it. [PMA 20091020] + # TODO: replace leading tabs like in codeblocks? + if (node_has_class (node, 'code-block') and self.cb_use_pygments): + self.visit_codeblock (node) + else: + self.out.append ('\\setbeamerfont{quote}{parent={}}\n') + LaTeXTranslator.visit_literal_block (self, node) + + def depart_literal_block (self, node): + # FIX: see `visit_literal_block` + if (node_has_class (node, 'code-block') and self.cb_use_pygments): + self.visit_codeblock (node) + else: + LaTeXTranslator.depart_literal_block (self, node) + self.out.append ( '\\setbeamerfont{quote}{parent=quotation}\n' ) + + def visit_codeblock (self, node): + # was langauge argument defined on node? + lang = node.get ('language', None) + # otherwise, was it defined in node classes? + if (lang is None): + lang = node_lang_class (node) + # otherwise, use commandline argument or default + if lang is None: + lang = self.cb_default_lang + # replace tabs if required + srccode = node.rawsource + if (self.cb_replace_tabs): + srccode = '\n'.join (adjust_indent_spaces (x, + new_width=self.cb_replace_tabs) for x in srccode.split ('\n')) + # hilight the code + hilite_code = highlight_code (srccode, lang) + self.out.append ('\n' + hilite_code + '\n') + raise nodes.SkipNode + + def depart_codeblock (self, node): + pass + + def visit_bullet_list (self, node): + # NOTE: required by the loss of 'topic_classes' in docutils 0.6 + # TODO: so what replaces it? + if (hasattr (self, 'topic_classes') and + ('contents' in self.topic_classes)): + if self.use_latex_toc: + raise nodes.SkipNode + self.out.append( '\\begin{list}{}{}\n' ) + else: + begin_str = '\\begin{itemize}' + if self.node_overlay_check(node): + begin_str += '[<+-| alert@+>]' + begin_str += '\n' + self.out.append (begin_str) + + + def node_overlay_check(self, node): + """Assuming that the bullet or enumerated list is the child of + a slide, check to see if the slide has either nooverlay or + overlay in its classes. If not, default to the commandline + specification for overlaybullets.""" + if 'nooverlay' in node.parent.attributes['classes']: + return False + elif 'overlay' in node.parent.attributes['classes']: + return True + else: + return self.overlay_bullets + + + def depart_bullet_list (self, node): + # NOTE: see `visit_bullet_list` + if (hasattr (self, 'topic_classes') and + ('contents' in self.topic_classes)): + self.out.append( '\\end{list}\n' ) + else: + self.out.append( '\\end{itemize}\n' ) + +## def latex_image_length(self, width_str): +## if ('\\textheight' in width_str) or ('\\textwidth' in width_str): +## return width_str +## else: +## return LaTeXTranslator.latex_image_length(self, width_str) + + def visit_enumerated_list (self, node): + #LaTeXTranslator has a very complicated + #visit_enumerated_list that throws out much of what latex + #does to handle them for us. I am going back to relying + #on latex. + if ('contents' in getattr (self, 'topic_classes', [])): + if self.use_latex_toc: + raise nodes.SkipNode + self.out.append( '\\begin{list}{}{}\n' ) + else: + begin_str = '\\begin{enumerate}' + if self.node_overlay_check(node): + begin_str += '[<+-| alert@+>]' + begin_str += '\n' + self.out.append(begin_str) + if node.has_key('start'): + self.out.append('\\addtocounter{enumi}{%d}\n' \ + % (node['start']-1)) + + + def depart_enumerated_list (self, node): + if ('contents' in getattr (self, 'topic_classes', [])): + self.out.append ('\\end{list}\n') + else: + self.out.append ('\\end{enumerate}\n' ) + + +## def astext (self): +## if self.pdfinfo is not None and self.pdfauthor: +## self.pdfinfo.append ('pdfauthor={%s}' % self.pdfauthor) +## if self.pdfinfo: +## pdfinfo = '\\hypersetup{\n' + ',\n'.join (self.pdfinfo) + '\n}\n' +## else: +## pdfinfo = '' +## head = '\\title{%s}\n' % self.title +## if self.auth_stack: +## auth_head = '\\author{%s}\n' % ' \\and\n'.join (\ +## ['~\\\\\n'.join (auth_lines) for auth_lines in self.auth_stack]) +## head += auth_head +## if self.date: +## date_head = '\\date{%s}\n' % self.date +## head += date_head +## return ''.join (self.head_prefix + [head] + self.head + [pdfinfo] +## + self.out_prefix + self.out + self.out_suffix) + + +## def visit_docinfo (self, node): +## """ +## Docinfo is ignored for Beamer documents. +## """ +## pass + +## def depart_docinfo (self, node): +## # see visit_docinfo +## pass + + def visit_columnset (self, node): + assert not self.in_columnset, \ + "already in column set, which cannot be nested" + self.in_columnset = True + self.out.append ('\\begin{columns}[T]\n') + + def depart_columnset (self, node): + assert self.in_columnset, "not in column set" + self.in_columnset = False + self.out.append ('\\end{columns}\n') + + def visit_column (self, node): + assert not self.in_column, "already in column, which cannot be nested" + self.in_column = True + self.out.append ('\\column{%.2f\\textwidth}\n' % node.width) + + def depart_column (self, node): + self.in_column = False + self.out.append ('\n') + + def visit_beamer_note (self, node): + assert not self.in_note, "already in note, which cannot be nested" + self.in_note = True + self.out.append ('\\note{\n') + + def depart_beamer_note (self, node): + self.in_note = False + self.out.append ('}\n') + + def visit_container (self, node): + """ + Handle containers with 'special' names, ignore the rest. + """ + # NOTE: theres something wierd here where ReST seems to translate + # underscores in container identifiers into hyphens. So for the + # moment we'll allow both. + if (node_has_class (node, 'r2b-simplecolumns')): + self.visit_columnset (node) + wrap_children_in_columns (node, node.children) + elif (node_has_class (node, 'r2b-note')): + self.visit_beamer_note (node) + else: + # currently the LaTeXTranslator does nothing, but just in case + LaTeXTranslator.visit_container (self, node) + + def depart_container (self, node): + if (node_has_class (node, 'r2b-simplecolumns')): + self.depart_columnset (node) + elif (node_has_class (node, 'r2b-note')): + self.depart_beamer_note (node) + else: + # currently the LaTeXTranslator does nothing, but just in case + LaTeXTranslator.depart_container (self, node) + + + # Convert strong from \textbf to \alert + def visit_strong(self, node): + self.out.append('\\alert{') + if node['classes']: + self.visit_inline(node) + + def depart_strong(self, node): + if node['classes']: + self.depart_inline(node) + self.out.append('}') + + +class BeamerWriter (Latex2eWriter): + """ + A docutils writer that produces Beamer-flavoured LaTeX. + """ + settings_spec = BEAMER_SPEC + settings_default_overrides = BEAMER_DEFAULT_OVERRIDES + def __init__(self): + self.settings_defaults.update(BEAMER_DEFAULTS) + Latex2eWriter.__init__(self) + self.translator_class = BeamerTranslator + + +### TEST & DEBUG ### +# TODO: should really move to a test file or dir + +def test_with_file (fpath, args=[]): + """ + Call rst2beamer on the given file with the given args. + + During development, it's handy to be able to easily call the writer from + within Python. This is a convenience function that wraps the docutils + functions to do so. + """ + return publish_cmdline (writer=BeamerWriter(), argv=args+[fpath]) + + +### MAIN ### + +def main (): + description = ( + "Generates Beamer-flavoured LaTeX for PDF-based presentations." + + default_description) + publish_cmdline (writer=BeamerWriter(), description=description) + + +if __name__ == '__main__': + main() + + +### END ### + -- 2.43.0