diff --git a/Makefile b/Makefile
index 3d7293d85..2a5587309 100644
--- a/Makefile
+++ b/Makefile
@@ -46,6 +46,12 @@ $(CCAN_OBJS) $(HELPER_OBJS) $(PROGRAM_OBJS) $(BITCOIN_OBJS): ccan/config.h
ccan/config.h: ccan/tools/configurator/configurator
$< > $@
+doc/deployable-lightning.pdf: doc/deployable-lightning.lyx doc/bitcoin.bib
+ lyx -E pdf $@ $<
+
+doc/deployable-lightning.tex: doc/deployable-lightning.lyx
+ lyx -E latex $@ $<
+
update-ccan:
mv ccan ccan.old
DIR=$$(pwd)/ccan; cd ../ccan && ./tools/create-ccan-tree -a $$DIR `cd $$DIR.old/ccan && find * -name _info | sed s,/_info,, | sort` $(CCAN_NEW)
@@ -58,10 +64,12 @@ update-ccan:
distclean: clean
$(RM) lightning.pb-c.c lightning.pb-c.h ccan/config.h
+ $(RM) doc/deployable-lightning.pdf
clean:
$(RM) $(PROGRAMS) test-cli/leak-anchor-sigs
$(RM) bitcoin/*.o *.o $(CCAN_OBJS)
+ $(RM) doc/deployable-lightning.{aux,bbl,blg,dvi,log,out,tex}
ccan-tal.o: $(CCANDIR)/ccan/tal/tal.c
$(CC) $(CFLAGS) -c -o $@ $<
diff --git a/doc/.gitignore b/doc/.gitignore
new file mode 100644
index 000000000..4a4d6a756
--- /dev/null
+++ b/doc/.gitignore
@@ -0,0 +1,7 @@
+*.aux
+*.bbl
+*.blg
+*.dvi
+*.log
+*.out
+*.tex
diff --git a/doc/bitcoin.bib b/doc/bitcoin.bib
new file mode 100644
index 000000000..57bb67b02
--- /dev/null
+++ b/doc/bitcoin.bib
@@ -0,0 +1,64 @@
+@InProceedings{Decker2015Making,
+ author = {Christian Decker and James Guthrie and Jochen Seidel and Roger Wattenhofer},
+ note = {\tt decker@ethz.ch and wattenhofer@ethz.ch},
+ title = {{Making Bitcoin Exchanges Transparent}},
+ booktitle = {{20th European Symposium on Research in Computer Security (ESORICS), Vienna, Austria}},
+ month = {September},
+ year = {2015}
+}
+@misc{Poon2015Lightning,
+ author = {Joseph Poon and Thaddeus Dryja},
+ title = {The Bitcoin Lightning Network DRAFT Version 0.5},
+ note = {\url{http://lightning.network/lightning-network-paper-DRAFT-0.5.pdf}},
+ year = {2015},
+ urldate = {2015-02-28}
+}
+@misc{nakamoto2008bitcoin,
+ title={{Bitcoin: A peer-to-peer electronic cash system}},
+ author={Nakamoto, Satoshi},
+ year={2008}
+}
+@misc{BitcoinChannels,
+ title = {{Rapidly-adjusted (micro)payments to a pre-determined party}},
+ urldate = {2015-07-13},
+ note = {\url{https://en.bitcoin.it/wiki/Contract#Example_7:_Rapidly-adjusted_.28micro.29payments_to_a_pre-determined_party}}
+ }
+@article{DBLP:journals/corr/DeckerW14,
+ author = {Christian Decker and
+ Roger Wattenhofer},
+ title = {Bitcoin Transaction Malleability and MtGox},
+ journal = {CoRR},
+ volume = {abs/1403.6676},
+ year = {2014},
+ url = {http://arxiv.org/abs/1403.6676},
+ timestamp = {Tue, 01 Apr 2014 11:56:46 +0200},
+ biburl = {http://dblp.uni-trier.de/rec/bib/journals/corr/DeckerW14},
+ bibsource = {dblp computer science bibliography, http://dblp.org}
+}
+@misc{BIP62,
+ author = { Pieter Wuille },
+ title = { Dealing with malleability },
+ urldate = {2015-07-13},
+ note = {\url{https://github.com/bitcoin/bips/blob/master/bip-0062.mediawiki}}
+}
+@misc{BIP65,
+ author = { Peter Todd },
+ title = {{OP\_CHECKLOCKTIMEVERIFY}},
+ urldate = {2015-07-13},
+ note = {\url{https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki}}
+}
+@misc{friedenbach_bitcoin-development_2015,
+ title = {[Bitcoin-development] [{BIP} draft] Consensus-enforced transaction replacement signalled via sequence numbers},
+ note = {\url{http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-June/008452.html}},
+ type = {E-mail},
+ author = {Friedenbach, Mark},
+ urldate = {2015-07-13},
+ date = {2015-06-02}
+}
+@misc{nolan_alt,
+ title = {Alt chains and atomic transfers},
+ note = {\url{https://bitcointalk.org/index.php?topic=193281.msg2224949#msg2224949}},
+ author = {Nolan, Tier},
+ urldate = {2015-07-14},
+ file = {Alt chains and atomic transfers:/home/rusty/.mozilla/firefox/vfn6if9k.default/zotero/storage/PEHK469N/index.html:text/html}
+}
diff --git a/doc/commit-tx.eps b/doc/commit-tx.eps
new file mode 100644
index 000000000..1e00f4e1b
--- /dev/null
+++ b/doc/commit-tx.eps
@@ -0,0 +1,581 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.14.2 (http://cairographics.org)
+%%CreationDate: Fri Jul 17 17:03:11 2015
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%BoundingBox: 75 179 475 425
+%%EndComments
+%%BeginProlog
+save
+50 dict 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
+%%BeginSetup
+%%BeginResource: font DejaVuSans
+11 dict begin
+/FontType 42 def
+/FontName /DejaVuSans 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 32 /space put
+Encoding 38 /ampersand put
+Encoding 45 /hyphen put
+Encoding 65 /A put
+Encoding 66 /B put
+Encoding 67 /C put
+Encoding 69 /E put
+Encoding 71 /G put
+Encoding 73 /I put
+Encoding 78 /N put
+Encoding 79 /O put
+Encoding 80 /P put
+Encoding 82 /R put
+Encoding 83 /S put
+Encoding 84 /T put
+Encoding 86 /V put
+Encoding 95 /underscore put
+Encoding 105 /i put
+Encoding 109 /m put
+Encoding 111 /o put
+Encoding 116 /t put
+Encoding 120 /x put
+/CharStrings 23 dict dup begin
+/.notdef 0 def
+/C 1 def
+/o 2 def
+/m 3 def
+/i 4 def
+/t 5 def
+/T 6 def
+/x 7 def
+/space 8 def
+/A 9 def
+/B 10 def
+/S 11 def
+/I 12 def
+/G 13 def
+/ampersand 14 def
+/R 15 def
+/E 16 def
+/V 17 def
+/O 18 def
+/N 19 def
+/hyphen 20 def
+/P 21 def
+/underscore 22 def
+end readonly def
+/sfnts [
+<0001000000090080000300106376742000691d3900000ffc000001fe6670676d7134766a0000
+11fc000000ab676c7966476f57940000009c00000f6068656164026638f7000012a800000036
+686865610cb80668000012e000000024686d74786f850a45000013040000005c6c6f63610000
+b77c00001360000000606d61787004840671000013c000000020707265703b07f100000013e0
+0000056800020066fe96046605a400030007001a400c04fb0006fb0108057f0204002fc4d4ec
+310010d4ecd4ec301311211125211121660400fc73031bfce5fe96070ef8f272062900010073
+ffe3052705f000190036401a0da10eae0a951101a100ae04951791118c1a07190d003014101a
+10fcec32ec310010e4f4ecf4ec10eef6ee30b40f1b1f1b02015d01152e012320001110002132
+3637150e01232000111000213216052766e782ff00fef00110010082e7666aed84feadfe7a01
+86015386ed0562d55f5efec7fed8fed9fec75e5fd34848019f01670168019f47000000020071
+ffe30475047b000b0017004a401306b91200b90cb8128c1809120f51031215451810fcecf4ec
+310010e4f4ec10ee3040233f197b007b067f077f087f097f0a7f0b7b0c7f0d7f0e7f0f7f107f
+117b12a019f01911015d012206151416333236353426273200111000232200111000027394ac
+ab9593acac93f00112feeef0f1feef011103dfe7c9c9e7e8c8c7e99cfec8feecfeedfec70139
+0113011401380000000100ba0000071d047b0022005a4026061209180f00061d07150c871d20
+03b81bbc19100700110f0808065011080f501c18081a462310fcec32fcfcfcec11123931002f
+3c3ce4f43cc4ec32111217393040133024502470249024a024a024bf24df24ff2409015d013e
+013332161511231134262322061511231134262322061511231133153e01333216042945c082
+afbeb972758fa6b972778da6b9b93fb0797aab03897c76f5e2fd5c029ea19cbea4fd87029ea2
+9bbfa3fd870460ae67627c000000000200c100000179061400030007002b400e06be04b100bc
+020501080400460810fc3cec3231002fe4fcec30400b1009400950096009700905015d133311
+2311331523c1b8b8b8b80460fba00614e90000010037000002f2059e0013003840190e05080f
+03a9001101bc08870a0b08090204000810120e461410fc3cc4fc3cc432393931002fecf43cc4
+ec3211393930b2af1501015d01112115211114163b01152322263511233533110177017bfe85
+4b73bdbdd5a28787059efec28ffda0894e9a9fd202608f013e0000000001fffa000004e905d5
+0007004a400e0602950081040140031c0040050810d4e4fce431002ff4ec3230014bb00a5458
+bd00080040000100080008ffc03811373859401300091f00100110021f071009400970099f09
+095d03211521112311210604effdeecbfdee05d5aafad5052b000001003b000004790460000b
+014340460511060706041103040707060411050401020103110202010b110001000a11090a01
+01000a110b0a0708070911080807420a070401040800bf05020a0704010408000208060c10d4
+4bb00a544bb00f545b4bb010545b4bb011545b58b90006004038594bb0145458b90006ffc038
+59c4d4c411173931002f3cec321739304b5358071005ed071008ed071008ed071005ed071005
+ed071008ed071008ed071005ed59220140980a04040a1a04150a260a3d04310a55045707580a
+660a76017a047607740a8d04820a99049f049707920a900aa601a904af04a507a30aa00a1c0a
+03040505090a0b1a03150515091a0b2903260525092a0b200d3a013903370534073609390b30
+0d4903460545094a0b400d590056015902590357055606590756085609590b500d6f0d78017f
+0d9b019407ab01a407b00dcf0ddf0dff0d2f5d005d09022309012309013309010464fe6b01aa
+d9febafebad901b3fe72d9012901290460fddffdc101b8fe48024a0216fe71018f0000020010
+0000056805d50002000a00c2404100110100040504021105050401110a030a0011020003030a
+0711050406110505040911030a08110a030a4200030795010381090509080706040302010009
+050a0b10d4c4173931002f3ce4d4ec1239304b5358071005ed0705ed071005ed0705ed071008
+ed071005ed071005ed071008ed5922b2200c01015d40420f010f020f070f080f005800760070
+008c000907010802060309041601190256015802500c67016802780176027c03720477077808
+87018802800c980299039604175d005d090121013301230321032302bcfeee0225fe7be50239
+d288fd5f88d5050efd1903aefa2b017ffe810000000300c9000004ec05d50008001100200043
+40231900950a0995128101950aad1f110b080213191f05000e1c1605191c2e09001c12042110
+fcec32fcecd4ec111739393931002fececf4ec10ee3930b20f2201015d011121323635342623
+01112132363534262325213216151406071e01151404232101930144a39d9da3febc012b9491
+9194fe0b0204e7fa807c95a5fef0fbfde802c9fddd878b8c850266fe3e6f727170a6c0b189a2
+1420cb98c8da00010087ffe304a205f00027007e403c0d0c020e0b021e1f1e080902070a021f
+1f1e420a0b1e1f0415010015a11494189511049500942591118c281e0a0b1f1b0700221b190e
+2d071914222810dcc4ecfcece4111239393939310010e4f4e4ec10eef6ee10c6111739304b53
+5807100eed11173907100eed1117395922b20f2901015db61f292f294f29035d01152e012322
+061514161f011e0115140421222627351e013332363534262f012e01353424333216044873cc
+5fa5b377a67ae2d7feddfee76aef807bec72adbc879a7be2ca0117f569da05a4c53736807663
+651f192bd9b6d9e0302fd04546887e6e7c1f182dc0abc6e42600000100c90000019305d50003
+002eb700af02011c00040410fc4bb0105458b9000000403859ec31002fec3001400d30054005
+500560058f059f05065d13331123c9caca05d5fa2b0000010073ffe3058b05f0001d00394020
+00051b0195031b950812a111ae15950e91088c1e02001c1134043318190b101e10fcecfce4fc
+c4310010e4f4ecf4ec10fed4ee11393930251121352111060423200011100021320417152e01
+23200011100021323604c3feb6021275fee6a0fea2fe75018b015e9201076f70fc8bfeeefeed
+011301126ba8d50191a6fd7f53550199016d016e01994846d75f60fecefed1fed2fece250000
+00020081ffe305fe05f00009003001cd40960d010e0c861112110b860a0b1212110986000915
+1615070106088616161502010301861d1e1d008609001e1e1d201f02211e110a130a17161503
+181411130a07080206091113130a0201020300110a130a171602181511130a141113130a4212
+0b090306000a1e0328150e0628270695182b9527942491188c0e130a2e0b0e09002e1215270e
+1e032e1227210e110f132103121b103110fcecc4d4d4ec10c6ee113911123939113939113911
+3931002fc6e4f6e6ee10ee10c6111239111739111739304b5358071005ed0705ed1117390710
+05ed111739071005ed1117390705ed111739071005ed111739071008ed07100eed1117390710
+0eed111739071008ed071008ed07100eed1117395922b20f3201015d40b2070b052209291c00
+1c011f02170b2a002a0126123a003412440b5e0059015a0a55125a1a5a1f5930671e7b009b00
+9a0199029708950b931595169522992d1f090b090c08110c270c2818021b09190b190c19111c
+141c15161d1f3227002701290923122a132a1428152f323b09341239133f324a094c144b1546
+194f3256015a09590c551259135c1f5f326a0c691160327501790c7a1193009301970295059c
+079c089f089a099b0b9a0c9032a032b032395d005d010e011514163332363709013e01373306
+02070123270e01232200353436372e0135343633321617152e0123220615141601f25b55d4a0
+5fa649fe7b01fc3b4206ba0c685d0117fc8f68e483f1fece86863032deb853a555579e446983
+3b032351a15892c23f40028ffdf859cb7284fefe7efee39359570113d780e1633f7d3ca2c524
+24b62f316f583367000200c90000055405d50013001c00b14035090807030a06110304030511
+0404034206040015030415950914950d810b040506031109001c160e050a191904113f140a1c
+0c041d10fcec32fcc4ec1117391139393931002f3cf4ecd4ec123912391239304b5358071005
+ed071005ed1117395922b2401e01015d40427a13010500050105020603070415001501140216
+03170425002501250226032706260726082609201e3601360246014602680575047505771388
+068807980698071f5d005d011e01171323032e012b0111231121201615140601113332363534
+2623038d417b3ecdd9bf4a8b78dcca01c80100fc83fd89fe9295959202bc16907efe68017f96
+62fd8905d5d6d88dba024ffdee8783838500000100c90000048b05d5000b002e401506950402
+950081089504ad0a05010907031c00040c10fcec32d4c4c431002fececf4ec10ee30b21f0d01
+015d132115211121152111211521c903b0fd1a02c7fd3902f8fc3e05d5aafe46aafde3aa0000
+000100100000056805d5000600b7402704110506050311020306060503110403000100021101
+010042030401af0006040302000505010710d4c4173931002fec3239304b5358071005ed0710
+08ed071008ed071005ed5922b2500801015d406200032a03470447055a037d03830307060007
+0208040906150114021a041a052a002601260229042905250620083800330133023c043c0537
+06480045014502490449054706590056066602690469057a0076017602790479057506800898
+009706295d005d21013309013301024afdc6d301d901dad2fdc705d5fb1704e9fa2b00020073
+ffe305d905f0000b00170023401306951200950c91128c1809190f33031915101810fcecfcec
+310010e4f4ec10ee300122001110003332001110002720001110002120001110000327dcfefd
+0103dcdc0101feffdc013a0178fe88fec6fec5fe870179054cfeb8fee5fee6feb80148011a01
+1b0148a4fe5bfe9efe9ffe5b01a40162016201a50000000100c90000053305d500090079401e
+071101020102110607064207020300af0805060107021c0436071c00040a10fcecfcec113939
+31002f3cec323939304b5358071004ed071004ed5922b21f0b01015d40303602380748024707
+690266078002070601090615011a06460149065701580665016906790685018a0695019a069f
+0b105d005d13210111331121011123c901100296c4fef0fd6ac405d5fb1f04e1fa2b04e1fb1f
+0001006401df027f028300030011b6009c020401000410dccc310010d4ec301321152164021b
+fde50283a400000200c90000048d05d500080013003a40180195100095098112100a08020400
+05190d3f11001c09041410fcec32fcec11173931002ff4ecd4ec30400b0f151f153f155f15af
+1505015d011133323635342623252132041514042b0111230193fe8d9a9a8dfe3801c8fb0101
+fefffbfeca052ffdcf92878692a6e3dbdde2fda80001ffecfe1d0414feac0003000fb500a901
+00020410c4c43100d4ec30011521350414fbd8feac8f8f000000013500b800cb00cb00c100aa
+009c01a600b800660000007100cb00a002b20085007500b800c301cb0189022d00cb00a600f0
+00d300aa008700cb03aa0400014a003300cb000000d9050200f4015400b4009c013901140139
+07060400044e04b4045204b804e704cd0037047304cd04600473013303a2055605a605560539
+03c5021200c9001f00b801df007300ba03e9033303bc0444040e00df03cd03aa00e503aa0404
+000000cb008f00a4007b00b80014016f007f027b0252008f00c705cd009a009a006f00cb00cd
+019e01d300f000ba018300d5009803040248009e01d500c100cb00f600830354027f00000333
+026600d300c700a400cd008f009a0073040005d5010a00fe022b00a400b4009c00000062009c
+0000001d032d05d505d505d505f0007f007b005400a406b80614072301d300b800cb00a601c3
+01ec069300a000d3035c037103db0185042304a80448008f0139011401390360008f05d5019a
+0614072306660179046004600460047b009c00000277046001aa00e904600762007b00c5007f
+027b000000b4025205cd006600bc00660077061000cd013b01850389008f007b0000001d00cd
+074a042f009c009c0000077d006f0000006f0335006a006f007b00ae00b2002d0396008f027b
+00f600830354063705f6008f009c04e10266008f018d02f600cd03440029006604ee00730000
+140000960000b707060504030201002c2010b002254964b040515820c859212d2cb002254964
+b040515820c859212d2c20100720b00050b00d7920b8ffff5058041b0559b0051cb0032508b0
+042523e120b00050b00d7920b8ffff5058041b0559b0051cb0032508e12d2c4b505820b0fd45
+4459212d2cb002254560442d2c4b5358b00225b0022545445921212d2c45442d2cb00225b002
+2549b00525b005254960b0206368208a108a233a8a10653a2d00000100000002570a0e576762
+5f0f3cf5001f080000000000cef5cb7600000000cef5cb76f7d6fcae0d720955000000080000
+00010000000000010000076dfe1d00000de2f7d6fa510d720001000000000000000000000000
+0000001704cd00660596007304e5007107cb00ba023900c10323003704e3fffa04bc003b028b
+000005790010057d00c905140087025c00c906330073063d0081058f00c9050e00c905790010
+064c007305fc00c902e3006404d300c90400ffec0000000000000044000000dc000001800000
+0244000002940000031000000380000005040000050400000600000006b0000007a8000007f0
+0000089800000b0000000c1400000c7400000d5400000de000000e8800000eb400000f340000
+0f600001000000170354002b0068000c000200100099000800000415021600080004b8028040
+fffbfe03fa1403f92503f83203f79603f60e03f5fe03f4fe03f32503f20e03f19603f02503ef
+8a4105effe03ee9603ed9603ecfa03ebfa03eafe03e93a03e84203e7fe03e63203e5e45305e5
+9603e48a4105e45303e3e22f05e3fa03e22f03e1fe03e0fe03df3203de1403dd9603dcfe03db
+1203da7d03d9bb03d8fe03d68a4105d67d03d5d44705d57d03d44703d3d21b05d3fe03d21b03
+d1fe03d0fe03cffe03cefe03cd9603cccb1e05ccfe03cb1e03ca3203c9fe03c6851105c61c03
+c51603c4fe03c3fe03c2fe03c1fe03c0fe03bffe03befe03bdfe03bcfe03bbfe03ba1103b986
+2505b9fe03b8b7bb05b8fe03b7b65d05b7bb03b78004b6b52505b65d40ff03b64004b52503b4
+fe03b39603b2fe03b1fe03b0fe03affe03ae6403ad0e03acab2505ac6403abaa1205ab2503aa
+1203a98a4105a9fa03a8fe03a7fe03a6fe03a51203a4fe03a3a20e05a33203a20e03a16403a0
+8a4105a096039ffe039e9d0c059efe039d0c039c9b19059c64039b9a10059b19039a1003990a
+0398fe0397960d0597fe03960d03958a410595960394930e05942803930e0392fa039190bb05
+91fe03908f5d0590bb039080048f8e25058f5d038f40048e25038dfe038c8b2e058cfe038b2e
+038a8625058a410389880b05891403880b03878625058764038685110586250385110384fe03
+8382110583fe0382110381fe0380fe037ffe0340ff7e7d7d057efe037d7d037c64037b541505
+7b25037afe0379fe03780e03770c03760a0375fe0374fa0373fa0372fa0371fa0370fe036ffe
+036efe036c21036bfe036a1142056a530369fe03687d036711420566fe0365fe0364fe0363fe
+0362fe03613a0360fa035e0c035dfe035bfe035afe0359580a0559fa03580a03571619055732
+0356fe035554150555420354150353011005531803521403514a130551fe03500b034ffe034e
+4d10054efe034d10034cfe034b4a13054bfe034a4910054a1303491d0d05491003480d0347fe
+0346960345960344fe0343022d0543fa0342bb03414b0340fe033ffe033e3d12053e14033d3c
+0f053d12033c3b0d053c40ff0f033b0d033afe0339fe033837140538fa033736100537140336
+350b05361003350b03341e03330d0332310b0532fe03310b03302f0b05300d032f0b032e2d09
+052e10032d09032c32032b2a25052b64032a2912052a25032912032827250528410327250326
+250b05260f03250b0324fe0323fe03220f03210110052112032064031ffa031e1d0d051e6403
+1d0d031c1142051cfe031bfa031a42031911420519fe031864031716190517fe031601100516
+190315fe0314fe0313fe031211420512fe0311022d05114203107d030f64030efe030d0c1605
+0dfe030c0110050c16030bfe030a100309fe0308022d0508fe030714030664030401100504fe
+03401503022d0503fe0302011005022d0301100300fe0301b80164858d012b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b002b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b1d00>
+] def
+/f-0-0 currentdict end definefont pop
+%%EndResource
+%%BeginResource: font DejaVuSans-Bold
+11 dict begin
+/FontType 42 def
+/FontName /DejaVuSans-Bold 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 79 /O put
+Encoding 82 /R put
+/CharStrings 3 dict dup begin
+/.notdef 0 def
+/O 1 def
+/R 2 def
+end readonly def
+/sfnts [
+<000100000009008000030010637674203eb9310800000268000002546670676d5b026bf00000
+04bc000000ac676c7966581f41560000009c000001cc68656164045e38fb0000056800000036
+686865610eaf0774000005a000000024686d747811c30188000005c40000000c6c6f63610000
+02f8000005d0000000106d6178700648062d000005e000000020707265707c61a2e700000600
+000007a700020066fe96046605a400030007001fbc00040126000000060126b6010805890204
+002fc4d4ec310010d4ecd4ec301311211125211121660400fc73031bfce5fe96070ef8f27206
+2900000000020066ffe3066605f0000b00170032401306ae1200ae0c9c129818092d0f37032d
+152b1810fcecfcec310010e4f4ec10ee30400b0019171310192f193f1905015d012202151412
+3332123534020320001110002120001110000366b0c2c2b0b1c2c2b101680198fe68fe98fe99
+fe67019904d9fefcecebfefc0104ebec01040117fe64fe95fe96fe64019c016a016b019c0000
+000200bc0000060005d50008001c008740321b1a021c191d161716181d1717162519160a1300
+ae0906ae0c8d170a16131803101c190600040d07031617100907160b031d10fcec32d4c4ec11
+39173911173931002f3cf4ecd4ec39123939304b5358071005ed071005ed1117395922b2181c
+01015d401f1b181b191a1a1b1b1a1c361536164515451656155616501e65156516601e0f5d01
+32363534262b0119022111212004151406071e01171321032e012302df79696979a2fe7f024c
+012701138f904f7d40d1fe66b637715e033f5a676658fe81fef6fdcb05d5c6d694be2d127f81
+fe5801737052000001660133016600bc00e90000013d00a200fa031f00020002006601660002
+000200ac015400ec00bc006201660181048501540166016d04a400020166007f04cd00000002
+0133006200710000002504a401bc00ba00e500660181018d0548055a0166016d000000000002
+000200f605c301f0053902390058046d043d04b2048104b2016601750466048100b004660439
+02d1049c047b04cf047b005801330166014c0166014c000200ac009a014a0123009a029a0144
+0119014402cd00c100000166013f019a013b05cb05cb00d500d5015000ac00ac0077020a01c7
+01f2012f015801b2012300f600f6011f012f0135023501ee01e70133009800d10358050a009a
+008f0112009800bc00cd00e500e500f2007304000166008f05d5022b05d500c300e100d700e5
+0000006a01020000001d032d05d505d505f000a8006a00ec00e1010205d506140721046602f8
+00ec018302a602f80123010201020112011f031f005e03cd046004c7048900ec01bc00ba0102
+0333031f03420333035c0112011f05d5019a009a00e106660179046004600460047b000000ec
+02c302b802cd00be00dd00d50000006a025c027b029a00dd01ae01ba01120000008501ae0460
+0762041b009a069a045800ee009a029a00d102cd019a015005cb05cb008b008b063100f60406
+00f0034c016004a800c10000002505c101000121074a06120096014a078300a800000337007b
+0014000000c9010005c105c105c105c101000108061d00960427039e00ec0102027d01330098
+00d10358017900cd02390362009c009c009c009301b8009300b80073000014000326b7070605
+04030201002c2010b002254964b040515820c859212d2cb002254964b040515820c859212d2c
+20100720b00050b00d7920b8ffff5058041b0559b0051cb0032508b0042523e120b00050b00d
+7920b8ffff5058041b0559b0051cb0032508e12d2c4b505820b80128454459212d2cb0022545
+60442d2c4b5358b00225b0022545445921212d2c45442d2cb00225b0022549b00525b0052549
+60b0206368208a108a233a8a10653a2d000100000002570aca280dd25f0f3cf5001f08000000
+0000cef5cb7000000000cef5cb70f772fcae0fcd096500010008000000010000000000010000
+076dfe1d00001021f772f9320fcd00010000000000000000000000000000000304cd006606cd
+0066062900bc000000000000004c000000e0000001cc000100000003034e002b0078000c0002
+001000400008000005ed02210008000441840280012600fe000301250011000301240121003a
+0005012400fa000301230016000301220121003a0005012200fe00030121003a0003012000fa
+0003011f00bb0003011e00640003011d00fe0003011c00190003011b001e0003011a00fe0003
+011900fe0003011800fe0003011700fe0003011600fe000301150114000e0005011500fe0003
+0114000e0003011300fe0003011200fe0003010f010e007d0005010f00fe0003010e007d0003
+010d010c008c0005010d00fe0003010d00c00004010c010b00590005010c008c0003010c0080
+0004010b010a00260005010b00590003010b00400004010a00260003010900fe0003010800fe
+00030107000c00030107008000040106b2972e054113010600fa0003010500fa0003010400fe
+0003010300190003010200fa0003010100fa0003010040ff7d03ff3e03fefe03fcfb2c05fcfe
+03fb2c03fafe03f9f84705f97d03f84703f7fa03f6fe03f5fe03f4fe03f3bb03f2fe03f1fe03
+f0fe03ef1e03eefe03edec0a05edfe03ec0a03ec4004ebea0a05eb3203ea0a03e9fa03e89116
+05e8fe03e7fa03e6fa03e5911605e5fe03e4fe03e3fe03e2fe03e1fe03e0fe03dffe03defa03
+dddc1805dd6403dc1803dba01e05db6403dad92505dafa03d92503d8d12505d8fa03d7d61405
+d71603d6d51005d61403d51003d4d30b05d42003d30b03d2d12505d2fa03d1911605d12503d0
+940c05d02303cfce1405cf2603cecd1205ce1403cd1203cc911605cc1d03cb1403cac9bb05ca
+fe03c9c85d05c9bb03c98004c840ffc72505c85d03c84004c72503c6fe03c56403c4901005c4
+fe03c31c03c2fe03c1fe03c0bf3a05c0fa03bfad1b05bf3a03bebd1a05be3203bdbc1105bd1a
+03bcbb0f05bc1103bbba0c05bb0f03ba0c03b9911605b9fe03b8fe03b71503b61203b5fe03b4
+fe03b3fe03b21703b11903b01603afad1b05affa03aead1b05aefa03ad911605ad1b03ac9116
+05ac7d03abfe03aa2603a9fe03a8fe03a7fe03a6fe03a50a03a4fe03a3a20e05a3fe03a20e03
+a24004a1a01e05a1fa03a0911605a01e039f9116059ffa039e940c059e1c039dfe039c9bbb05
+9cfe039b9a5d059bbb039b80049a8f25059a5d039a400499fe0398972e0598fe03972e039691
+1605961e40ff0395940c05952003940c0393911605934b039291160592fe0391901005911603
+9010038f25038efe038dfe038cfe038bfe038afe0389fe038887250588fe0387250386fe0385
+fe0384320383960382fe0381fe038019037f0a037efe037dfe037cfe037bfa037afa0379fe03
+7776a60577fe0376a60375741b0575fa03741b0373fa03727d0371fe03706f2c056f2c036efa
+036dfa036cfa036bfe036afe0369fe0368630c0568320367fe0366320365640a0565fe03640a
+0364400463620a05630c03620a0361601505619603600111056015035f0a035efe035dfe035c
+0111055cfe035b5a1b055bfe035a0111055a1b0359fe0358fa0357fe035601110540ff56fe03
+55fe03541e035314035251190552fa0351011105511903504f190550fa034f4e11054f19034e
+11034d1e034c4b14054c15034b4a11054b14034a490e054a1103490e0348fa03474614054715
+0346140345fa0344430e05440f03430e034241250542fa0341011105412503403f0f0540fe03
+3f3e0e053f0f033e0e033d3c0d053d16033c0d033b64033afe0339140338fe0337130336351a
+0536250335341405351a0335c004340a0d0534140334800433320c05331403334004320c0331
+30a60531fe033001110530a6032f0c032e13032d2c3a052dfa032c1525052c3a032b64032a64
+0329fe0328150327171105271e03262003251e0324231105402b241e0323110322000d0522fa
+03210f032140042014031f0a031e1e031d1c19051d25031c0f13051c19031cb801004091041b
+0d031a194b051a7d0319011105194b0318fe031711031615250516fa03150111051525031464
+0313110312fe031101110511fe031064030f0e10050f13030fc0040e10030e80040d0111050d
+fa030c32030b0a0d050b16030b80040a0d030a400409fe0308fe0307fe0306050a0506fe0305
+0a0305400404fa030364030201110502fe0301000d05011103000d0301b80164858d012b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b002b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b1d0000>
+] def
+/f-1-0 currentdict end definefont pop
+%%EndResource
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 75 179 475 425
+%%EndPageSetup
+q 75 179 400 246 rectclip q
+0 g
+2.4 w
+1 J
+1 j
+[] 0.0 d
+4 M q 1 0 0 -1 0 433.896301 cm
+137.555 66.457 96 80 re S Q
+BT
+17.6 0 0 17.6 150.69448 331.751667 Tm
+/f-0-0 1 Tf
+[(Commit)]TJ
+0.862305 -1.25 Td
+(Tx A)Tj
+ET
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+250.605 25.652 m 178.293 25.078 l 178.293 65.078 l S Q
+178.293 376.818 m 175.094 380.017 l 178.293 368.818 l 181.492 380.017 l
+ h
+178.293 376.818 m f*
+0.8 w
+q 0.0000002 1 1 -0.0000002 0 433.896301 cm
+-57.078 178.293 m -53.879 175.094 l -65.078 178.293 l -53.879 181.492 l
+ h
+-57.078 178.293 m S Q
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+315.172 67.43 96 80 re S Q
+BT
+17.6 0 0 17.6 328.310715 330.78111 Tm
+/f-0-0 1 Tf
+[(Commit)]TJ
+0.861328 -1.25 Td
+(Tx B)Tj
+ET
+q 1 0 0 -1 0 433.896301 cm
+297.879 34.363 m 297.879 47.617 287.133 58.363 273.879 58.363 c 260.621
+ 58.363 249.879 47.617 249.879 34.363 c 249.879 21.109 260.621 10.363 273.879
+ 10.363 c 287.133 10.363 297.879 21.109 297.879 34.363 c h
+297.879 34.363 m S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+273.879 10.363 m 273.879 58.363 l S Q
+q 1 0 0 -1 0 433.896301 cm
+249.879 34.363 m 297.879 34.363 l S Q
+q 1 0 0 -1 0 433.896301 cm
+250.605 41.652 m 194.293 41.652 l 194.293 65.078 l S Q
+194.293 376.818 m 191.094 380.017 l 194.293 368.818 l 197.492 380.017 l
+ h
+194.293 376.818 m f*
+0.8 w
+q 0.000000341463 1 1 -0.000000341463 0 433.896301 cm
+-57.078 194.293 m -53.879 191.094 l -65.078 194.293 l -53.879 197.492 l
+ h
+-57.078 194.293 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+296.574 25.652 m 368.883 25.078 l 368.887 65.078 l S Q
+368.887 376.818 m 365.684 380.017 l 368.887 368.818 l 372.086 380.017 l
+ h
+368.887 376.818 m f*
+0.8 w
+q -0.0000002 1 1 0.0000002 0 433.896301 cm
+-57.078 368.887 m -53.879 365.684 l -65.078 368.887 l -53.879 372.086 l
+ h
+-57.078 368.887 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+296.574 41.652 m 352.883 41.652 l 352.887 65.078 l S Q
+352.887 376.818 m 349.684 380.017 l 352.887 368.818 l 356.086 380.017 l
+ h
+352.887 376.818 m f*
+0.8 w
+q -0.000000341463 1 1 0.000000341463 0 433.896301 cm
+-57.078 352.887 m -53.879 349.684 l -65.078 352.887 l -53.879 356.086 l
+ h
+-57.078 352.887 m S Q
+BT
+12 0 0 12 154.199851 353.916559 Tm
+/f-0-0 1 Tf
+(SIG A & B)Tj
+14.845178 -0.134686 Td
+[(SIG A &)-319(B)]TJ
+ET
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+154.352 146.453 m 154.48 162.617 l 98.852 162.617 l 98.852 186.047 l S Q
+98.852 255.849 m 95.648 259.053 l 98.852 247.849 l 102.051 259.053 l h
+98.852 255.849 m f*
+0.8 w
+q 0.000000341463 1 1 -0.000000341463 0 433.896301 cm
+-178.047 98.852 m -174.844 95.648 l -186.047 98.852 l -174.844 102.051
+l h
+-178.047 98.852 m S Q
+BT
+12 0 0 12 74.360245 239.841376 Tm
+/f-0-0 1 Tf
+(SIG B)Tj
+ET
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+186.359 146.055 m 186.359 202.055 l S Q
+186.359 239.842 m 183.16 243.041 l 186.359 231.842 l 189.559 243.041 l
+h
+186.359 239.842 m f*
+0.8 w
+q 0 1 1 0 0 433.896301 cm
+-194.055 186.359 m -190.855 183.16 l -202.055 186.359 l -190.855 189.559
+ l h
+-194.055 186.359 m S Q
+BT
+12 0 0 12 98.003489 217.457611 Tm
+/f-0-0 1 Tf
+[(REV)17(OCA)77(TION-)21(A & SIG B)]TJ
+/f-1-0 1 Tf
+5.02832 -1.25 Td
+(OR)Tj
+/f-0-0 1 Tf
+-3.206055 -1.25 Td
+[(OP_CSV & SIG A)]TJ
+ET
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+403.176 146.453 m 403.047 162.617 l 458.676 162.617 l 458.676 186.047 l
+ S Q
+458.676 255.849 m 455.477 259.053 l 458.676 247.849 l 461.879 259.053 l
+ h
+458.676 255.849 m f*
+0.8 w
+q -0.000000341463 1 1 0.000000341463 0 433.896301 cm
+-178.047 458.676 m -174.844 455.477 l -186.047 458.676 l -174.844 461.879
+ l h
+-178.047 458.676 m S Q
+BT
+12 0 0 12 441.962302 234.992646 Tm
+/f-0-0 1 Tf
+(SIG A)Tj
+ET
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+361.629 149.289 m 361.629 205.289 l S Q
+361.629 236.607 m 358.43 239.81 l 361.629 228.607 l 364.828 239.81 l h
+361.629 236.607 m f*
+0.8 w
+q 0 1 1 0 0 433.896301 cm
+-197.289 361.629 m -194.086 358.43 l -205.289 361.629 l -194.086 364.828
+ l h
+-197.289 361.629 m S Q
+BT
+12 0 0 12 331.539304 213.416986 Tm
+/f-0-0 1 Tf
+[(REV)17(OCA)77(TION-)34(B & SIG A)]TJ
+/f-1-0 1 Tf
+5.021484 -1.25 Td
+(OR)Tj
+/f-0-0 1 Tf
+-3.207031 -1.25 Td
+[(OP_CSV & SIG B)]TJ
+ET
+Q Q
+showpage
+%%Trailer
+end restore
+%%EOF
diff --git a/doc/commit-tx.svg b/doc/commit-tx.svg
new file mode 100644
index 000000000..a3152ae8d
--- /dev/null
+++ b/doc/commit-tx.svg
@@ -0,0 +1,494 @@
+
+
+
+
diff --git a/doc/deployable-lightning.lyx b/doc/deployable-lightning.lyx
new file mode 100644
index 000000000..ede692ef1
--- /dev/null
+++ b/doc/deployable-lightning.lyx
@@ -0,0 +1,1963 @@
+#LyX 2.1 created this file. For more info see http://www.lyx.org/
+\lyxformat 474
+\begin_document
+\begin_header
+\textclass article
+\begin_preamble
+% for subfigures/subtables
+\usepackage[caption=false,font=footnotesize]{subfig}
+\end_preamble
+\options journal
+\use_default_options false
+\maintain_unincluded_children false
+\language english
+\language_package none
+\inputencoding default
+\fontencoding global
+\font_roman default
+\font_sans default
+\font_typewriter default
+\font_math auto
+\font_default_family default
+\use_non_tex_fonts false
+\font_sc false
+\font_osf false
+\font_sf_scale 100
+\font_tt_scale 100
+\graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command bibtex
+\index_command default
+\float_placement H
+\paperfontsize default
+\spacing single
+\use_hyperref true
+\pdf_title "Your Title"
+\pdf_author "Your Name"
+\pdf_bookmarks true
+\pdf_bookmarksnumbered true
+\pdf_bookmarksopen true
+\pdf_bookmarksopenlevel 1
+\pdf_breaklinks false
+\pdf_pdfborder true
+\pdf_colorlinks false
+\pdf_backref false
+\pdf_pdfusetitle false
+\pdf_quoted_options "pdfpagelayout=OneColumn, pdfnewwindow=true, pdfstartview=XYZ, plainpages=false"
+\papersize default
+\use_geometry false
+\use_package amsmath 1
+\use_package amssymb 1
+\use_package cancel 0
+\use_package esint 0
+\use_package mathdots 1
+\use_package mathtools 0
+\use_package mhchem 1
+\use_package stackrel 0
+\use_package stmaryrd 0
+\use_package undertilde 0
+\cite_engine basic
+\cite_engine_type default
+\biblio_style ieeetr
+\use_bibtopic false
+\use_indices false
+\paperorientation portrait
+\suppress_date false
+\justification true
+\use_refstyle 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\paragraph_indentation default
+\quotes_language english
+\papercolumns 1
+\papersides 1
+\paperpagestyle default
+\tracking_changes false
+\output_changes false
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
+\end_header
+
+\begin_body
+
+\begin_layout Title
+Reaching The Ground With Lightning (draft 0.1)
+\end_layout
+
+\begin_layout Author
+Rusty Russell
+\end_layout
+
+\begin_layout Abstract
+The Lightning Network (as proposed by Joseph Poon and Thaddeus Dryja
+\begin_inset CommandInset citation
+LatexCommand cite
+key "Poon2015Lightning"
+
+\end_inset
+
+) requires some new sighash modes in order to work with Bitcoin.
+ This paper proposes a simplified variant which requires only modifications
+ which are already proposed for bitcoin, and slightly simplifies the revocation
+ of existing contracts.
+\end_layout
+
+\begin_layout Abstract
+Keywords: bitcoin, lightning, revocation hash, HTLC
+\end_layout
+
+\begin_layout Section
+Introduction
+\end_layout
+
+\begin_layout Standard
+The Bitcoin network
+\begin_inset CommandInset citation
+LatexCommand cite
+key "nakamoto2008bitcoin"
+
+\end_inset
+
+ allows the transfer of value between peers using
+\emph on
+transactions.
+
+\emph default
+ Each bitcoin transaction consists of one or more
+\emph on
+outputs
+\emph default
+ (typically specifying the hash of the recipient's key), and one or more
+
+\emph on
+inputs
+\emph default
+ (typically containing the recipient's key and a signature of the transaction).
+ Thus one transfers value to another peer by creating a transaction which
+
+\emph on
+spends
+\emph default
+ one or more outputs and creates an output which the recipient can spent
+ using their private key.
+\end_layout
+
+\begin_layout Standard
+While such cryptographic transfer of value is near-instantaneous, ensuring
+ that the transaction has been included in the consensus of the shared ledger
+ (aka.
+
+\emph on
+blockchain
+\emph default
+) creates delays ranging from a few minutes to hours, depending on the level
+ of reliability required.
+ Inclusion in the blockchain is performed by miners, who preferentially
+ include transactions paying greatest fee per byte.
+\end_layout
+
+\begin_layout Standard
+Thus using the blockchain directly is slow, and too expensive for genuinely
+ small transfers (typical fees are a few cents).
+\end_layout
+
+\begin_layout Section
+Previous Work
+\end_layout
+
+\begin_layout Standard
+To work around the bitcoin network's delays and fees, several forms of
+\emph on
+off-chain
+\emph default
+ transaction patterns have been developed, where series of transactions
+ are sent directly between two parties, with only the initial opening transactio
+n and final redemption transaction being included in the bitcoin blockchain.
+\end_layout
+
+\begin_layout Standard
+The Lightning Network paper proposed a solution, but at the cost of introducing
+ new signature variants (sighash ops).
+ Adding a new signature opcode would allow many other improvements
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+Schnorr signatures offer faster batch validation, according to https://github.com
+/ElementsProject/elementsproject.github.io#schnorr-signature-validation
+\end_layout
+
+\end_inset
+
+
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+DER encoding adds unnecessary bytes and is a cause of malleability
+\end_layout
+
+\end_inset
+
+ but that is precisely why it's a matter for longer term research and unlikely
+ to be deployed in Bitcoin in the immediate future.
+\end_layout
+
+\begin_layout Subsection
+Payment Channels
+\end_layout
+
+\begin_layout Standard
+The concept of
+\emph on
+payment channels
+\emph default
+ (sometimes called micropayment channels) has existed in various forms for
+ several years
+\begin_inset CommandInset citation
+LatexCommand cite
+key "BitcoinChannels"
+
+\end_inset
+
+.
+ The simplest form is as follows, and allows A to quickly and cheaply pay
+ B a stream of slightly increasing amounts:
+\end_layout
+
+\begin_layout Enumerate
+A creates an
+\emph on
+anchor
+\emph default
+ transaction to
+\emph on
+open the channel
+\emph default
+ which:
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Outputs $1,
+\end_layout
+
+\begin_layout Enumerate
+Requires the signatures of both A and B to redeem.
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+A sends the transaction ID of the anchor, which output to spend, and the
+ amount of that output to B.
+\end_layout
+
+\begin_layout Enumerate
+B signs a
+\begin_inset Quotes eld
+\end_inset
+
+refund
+\begin_inset Quotes erd
+\end_inset
+
+ transaction which:
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+spends that anchor output,
+\end_layout
+
+\begin_layout Enumerate
+outputs the $1 to an address controlled by A, and
+\end_layout
+
+\begin_layout Enumerate
+can only be spent in 24 hours (using the
+\emph on
+locktime
+\emph default
+ field)
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+B sends A the refund transaction.
+\end_layout
+
+\begin_layout Enumerate
+A broadcasts the anchor transaction, knowing she can get the funds back
+ in 24 hours using the refund if B vanishes.
+\end_layout
+
+\begin_layout Standard
+A can now pay B 1 cent by signing a new
+\emph on
+commitment
+\emph default
+transaction to send to B, which spends the anchor output and has two outputs:
+ one pays A 99c, and the other pays B 1 cent.
+ A can later pay B another cent by signing another transaction (
+\begin_inset Quotes eld
+\end_inset
+
+updating the commitment
+\begin_inset Quotes erd
+\end_inset
+
+) for B which pays A 98c and B 2c, etc.
+\end_layout
+
+\begin_layout Standard
+At any point, B can
+\begin_inset Quotes eld
+\end_inset
+
+close the channel
+\begin_inset Quotes erd
+\end_inset
+
+ by signing and broadcasting the latest commitment transaction to collect
+ the money.
+ B should do this before 24 hours pass, otherwise A can use the refund transacti
+on.
+\end_layout
+
+\begin_layout Subsubsection
+Limitations Of Simple Payment Channels
+\end_layout
+
+\begin_layout Standard
+Simple channels have several limitations:
+\end_layout
+
+\begin_layout Description
+Single
+\begin_inset space ~
+\end_inset
+
+recipient.
+ A new recipient requires a new channel, which must wait for consensus on
+ the anchor transaction.
+\end_layout
+
+\begin_layout Description
+One
+\begin_inset space ~
+\end_inset
+
+way.
+ They cannot be reversed: A can sign a transaction which pays B less money
+ than the last, but B could still broadcast the older transaction.
+\end_layout
+
+\begin_layout Description
+Vulnerable
+\begin_inset space ~
+\end_inset
+
+to
+\begin_inset space ~
+\end_inset
+
+malleability.
+ The anchor transaction could be altered in several ways (without invaliding
+ it completely) before inclusion in the blockchain: this alters its transaction
+ id and thus makes the refund transaction unusable.
+\end_layout
+
+\begin_layout Standard
+This last issue is a common one with complex bitcoin transactions, and BIP62
+\begin_inset CommandInset citation
+LatexCommand cite
+key "BIP62"
+
+\end_inset
+
+ is proposed to prevent non-signing parties from being able to malleate
+ transactions.
+
+\end_layout
+
+\begin_layout Subsection
+Generalized Payment Channels Using Revocable Transactions
+\end_layout
+
+\begin_layout Standard
+The Lightning network introduced generalized, bi-directional payment channels,
+ referred to here as
+\emph on
+Poon-Dryja channels
+\emph default
+.
+ These use a mutual anchor, which both create to provide the channel funding,
+ and a symmetrical
+\emph on
+pair
+\emph default
+ of updatable commitment
+\emph on
+
+\emph default
+transactions rather than the single transaction used in the one-way channel
+ case.
+\end_layout
+
+\begin_layout Standard
+[FIXME: Insert Figure 1 from LN draft 0.5]
+\end_layout
+
+\begin_layout Standard
+To update the commitment, A sends B a signature for B's new commitment transacti
+on, and B sends A a signature for A's new commitment transaction.
+\end_layout
+
+\begin_layout Standard
+As before, each commitment transaction contains two outputs, one for A and
+ one for B; but A's commitment transaction output to itself is encumbered
+ by an additional restriction (as is B's output to itself).
+ Instead of paying A directly, needs both A and B's signature.
+ B provides such a signature, but on a
+\begin_inset Quotes eld
+\end_inset
+
+commitment refund
+\begin_inset Quotes erd
+\end_inset
+
+ transaction which can only be spent after a delay (40 days in the paper).
+ Thus if A closes the channel by signing and broadcasting its commitment
+ transaction, B can collect its output immediately, but A must wait 40 days.
+\end_layout
+
+\begin_layout Standard
+This delay encumbering the output is what makes the commitment transaction
+
+\emph on
+revocable;
+\emph default
+ once an updated commitment transaction is agreed upon, the previous commitment
+ transaction pair is revoked by sharing the private keys needed to redeem
+ those encumbered outputs.
+ Thus, A shares its (throwaway) private key, and B shares its throwaway
+ private key.
+ If A were to sign and broadcast a revoked commitment transaction, B could
+ not only immediately spend its own output, but it has both A's key and
+ its own to generate a transaction which can spend the output which would
+ normally go to A after a delay.
+\end_layout
+
+\begin_layout Subsection
+Hashed Timelock Contracts (HTLCs)
+\end_layout
+
+\begin_layout Standard
+The Lightning Network paper used a set of 4 transactions to implement a
+\emph on
+ hashed timelock contract,
+\emph default
+which guarantees payment of a given amount on presentation of a secret value
+
+\emph on
+R
+\emph default
+ within a certain timespan.
+ Any number of these could be active within a generalized channel, and this
+ is what allows a network to form: Node A offers node B $1 for the secret
+ within 2 days, node B offers node C 99c for the secret within 1 day, etc.
+\end_layout
+
+\begin_layout Standard
+[ FIXME: Insert figure 2 from LN Draft 0.5 ]
+\end_layout
+
+\begin_layout Section
+Enhancements To Lightning
+\end_layout
+
+\begin_layout Standard
+This paper proposes various modifications.
+\end_layout
+
+\begin_layout Subsection
+Poon-Dryja Generalized Payment Channel Modifications
+\end_layout
+
+\begin_layout Standard
+This paper proposes three of these.
+\end_layout
+
+\begin_layout Subsubsection
+Placing Timeout in Output Script
+\end_layout
+
+\begin_layout Standard
+Rather than using a separate transaction to enforce the delay, BIP65
+\begin_inset CommandInset citation
+LatexCommand cite
+key "BIP65"
+
+\end_inset
+
+ proposes an OP_CHECKLOCKTIMEVERIFY which allows an output to specify the
+ minimum time at which it can be spent.
+ With this enhancement, we no longer need a separate
+\begin_inset Quotes eld
+\end_inset
+
+commitment refund
+\begin_inset Quotes erd
+\end_inset
+
+ transaction.
+ The commitment transaction to-self output script would be a little more
+ complex:
+\end_layout
+
+\begin_layout Itemize
+A and B's signature, OR
+\end_layout
+
+\begin_layout Itemize
+A's signature and OP_CHECKLOCKTIMEVERIFY <40 days>
+\end_layout
+
+\begin_layout Subsubsection
+Using Relative Locktime
+\end_layout
+
+\begin_layout Standard
+The Poon-Dryja channel uses a 40 day locktime, because transaction locktime
+ is absolute.
+ Before 40 days the channel must be closed otherwise spending a revoked
+ transaction and immediately following it with the commit refund transaction
+ is possible.
+\end_layout
+
+\begin_layout Standard
+A proposal to extend output scripts to specify a minimum
+\emph on
+relative
+\emph default
+ time before they can be spent
+\begin_inset CommandInset citation
+LatexCommand cite
+key "friedenbach_bitcoin-development_2015"
+
+\end_inset
+
+ can reduce this timeout (say, to 1 day) and avoid placing a lifetime limit
+ on the channel, like so:
+\end_layout
+
+\begin_layout Itemize
+A and B's signature, OR
+\end_layout
+
+\begin_layout Itemize
+A's signature and OP_CHECKSEQUENCEVERIFY <1 day>
+\end_layout
+
+\begin_layout Subsubsection
+Using Revocation Preimages Instead of Private Keys
+\end_layout
+
+\begin_layout Standard
+There's a slightly more intuitive and more efficient method than exchanging
+ private keys, which is to reuse a technique of hash preimages which is
+ already needed for HTLCs (as we see later).
+\end_layout
+
+\begin_layout Standard
+Instead of using a private keys, B uses knowledge of a hash preimage as
+ well as its signature to steal funds from a revoked commitment transaction.
+ Thus, to create a commitment transaction each side provides a hash value;
+ to revoke a commitment transaction it provides the prehash image.
+\end_layout
+
+\begin_layout Standard
+The resulting commitment transaction to-self output now looks like:
+\end_layout
+
+\begin_layout Itemize
+B's signature and a preimage which hashes to , OR
+\end_layout
+
+\begin_layout Itemize
+A's signature and OP_CHECKSEQUENCEVERIFY <1 day>
+\end_layout
+
+\begin_layout Standard
+This can be expressed fairly easily in bitcoin's script-based scripting
+ language, as annotated in
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Commitment-Outputs-For"
+
+\end_inset
+
+.
+ The final pair of commitment transaction outputs is shown in Figure
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:Commitment-Transaction-Outputs"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+ filename commit-tx.eps
+ scale 50
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption Standard
+
+\begin_layout Plain Layout
+Commitment Transaction Outputs
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:Commitment-Transaction-Outputs"
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Channel Opening Modifications
+\end_layout
+
+\begin_layout Standard
+The method of creating the first commitment transaction before signing the
+ anchor transaction (as proposed in the paper) presents two problems in
+ practice:
+\end_layout
+
+\begin_layout Enumerate
+The anchor transaction id required for the commitment input will only be
+ known one the anchor is signed, and
+\end_layout
+
+\begin_layout Enumerate
+The anchor transaction can be malleated by either party before entering
+ the blockchain, rendering the commitment input unusable.
+\end_layout
+
+\begin_layout Standard
+The last of these is particularly pernicious, as BIP62 doesn't solve it:
+ signatories can always re-sign a transaction, hence altering its transaction
+ ID.
+ The paper proposes new SIGHASH flags which mitigate this problem, but we
+ are attempting to avoid that.
+\end_layout
+
+\begin_layout Standard
+For ease of understanding, we develop the protocol in stages.
+ Please note that the intermediary proposals are insecure!
+\end_layout
+
+\begin_layout Subsubsection
+Separate Anchor Transactions
+\end_layout
+
+\begin_layout Standard
+To avoid the problem of needing all anchor signatures to derive the anchor
+ transaction ID to create the commitment transaction input, we split the
+ anchor into two transactions; thus A knows its anchor transaction ID, and
+ B knows its anchor transaction ID as shown in Figure
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:Simplistic-Dual-Anchor"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+ filename dual-anchor-diag1.eps
+ scale 50
+
+\end_inset
+
+
+\begin_inset Caption Standard
+
+\begin_layout Plain Layout
+Simplistic Dual Anchor Design
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:Simplistic-Dual-Anchor"
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+This form allows A and B to create commitment transactions which spends
+ the anchors outputs by exchanging anchor transaction IDs.
+ It has the problem that if the other party does not then broadcast its
+ anchor transaction, we cannot spend the commitment transaction, and our
+ own anchor funds are stuck.
+\end_layout
+
+\begin_layout Standard
+This we introduce an
+\emph on
+escape
+\emph default
+ transaction, which lets us regain our anchor funds in that case, as shown
+ in Figure
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:Dual-Anchor2"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+ filename dual-anchor-diag2.eps
+ scale 50
+
+\end_inset
+
+
+\begin_inset Caption Standard
+
+\begin_layout Plain Layout
+Dual Anchor With Simple Escape Transactions
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:Dual-Anchor2"
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+However, this escape transaction would let either side remove its funds
+ from the channel at any time, which would make the channel insecure.
+ Thus, after the commitment transactions have been established, we want
+ to revoke the escape transactions.
+ We can do the same way we did for the commitment transaction revocation;
+ by placing restrictions on the
+\begin_inset Quotes eld
+\end_inset
+
+to-me
+\begin_inset Quotes erd
+\end_inset
+
+ output.
+ In particular, adding a delay if paying back to the anchor owner, and allowing
+ it to be spent by the other party immediately if they possess the revocation
+ preimage, as shown in Figure
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:Anchor-revoc-escape"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+ filename dual-anchor-diag3.eps
+ scale 50
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption Standard
+
+\begin_layout Plain Layout
+Dual Anchors With Revocable Escape Transactions
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:Anchor-revoc-escape"
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Unfortunately, this revocation is not a complete solution; if B uses its
+ escape transaction, A can collect B's anchor funds, but it has no way of
+ collecting its own! The commitment transaction cannot be used, as one of
+ its inputs has been spent by B's escape transaction.
+ A's own escape transaction has been revoked, so B would simply steal the
+ funds.
+\end_layout
+
+\begin_layout Standard
+Thus we need an additional construction, such that using one escape transaction
+ immediately unlocks the other anchor funds for its owner.
+ To do this, we ensure that the escape transaction is forced to reveal a
+ secret, which is a fairly well-established technique
+\begin_inset CommandInset citation
+LatexCommand cite
+key "nolan_alt"
+
+\end_inset
+
+.
+ The anchor transaction is modified to either require both signatures (for
+ the commitment transaction), or both signatures and the secret (for the
+ escape transaction), as shown in Figure
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:Secret-Revelation-by"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+ filename dual-anchor-diag4.eps
+ scale 50
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption Standard
+
+\begin_layout Plain Layout
+Secret Revelation by Escape Transactions
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:Secret-Revelation-by"
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+That revealed secret can be used with the other alternative: the
+\emph on
+fast escape transaction.
+
+\emph default
+ This reveals the secret just like the escape transaction, but its output
+ is immediately usable if one knows the other side's secret.
+ This is shown in Figure
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:Final-Dual-Anchor"
+
+\end_inset
+
+.
+ Thus, if the B broadcasts its escape transaction after it has been revoked,
+ A can (after ensuring escape B is sufficiently deep in the block chain)
+ broadcast its fast escape transaction and use B's secret to immediately
+ spend the output.
+\end_layout
+
+\begin_layout Standard
+On the other hand, if B broadcasts its fast escape transaction without knowing
+ A's secret, A can simply wait for the timeout and spend the fast escape
+ output, then use its own fast escape transaction and B's secret to recover
+ its own anchor funds as well.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+ filename dual-anchor-final.eps
+ scale 50
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption Standard
+
+\begin_layout Plain Layout
+Final Dual Anchor Design
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:Final-Dual-Anchor"
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+The final scripts are shown in
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sec:Appendix-A:-Scripts"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Subsubsection
+Disadvantages of The Dual Anchor Approach
+\end_layout
+
+\begin_layout Standard
+Unlike the mutual anchor approach, use of escape transactions is not outsourcabl
+e: you cannot have an untrusted third party which can monitor the network
+ for the other sides' revoked escape transaction and respond with your own
+ escape transaction.
+ If you were to provide a third party with your fast escape transaction,
+ you would necessarily provide it with the secret, which it could give to
+ B.
+\end_layout
+
+\begin_layout Subsection
+Hashed Timelock Contract (HTLC) Modification
+\end_layout
+
+\begin_layout Standard
+Using the same techniques used above, we can condense each HTLC into a single
+ output script on the commitment transaction.
+ This output is spendable under three conditions:
+\end_layout
+
+\begin_layout Enumerate
+Recipient knows the R value (funds go to recipient), or
+\end_layout
+
+\begin_layout Enumerate
+The HTLC has timed out (funds return to sender), or
+\end_layout
+
+\begin_layout Enumerate
+The Commit transaction has been revoked (funds to go other side).
+\end_layout
+
+\begin_layout Standard
+Unlike the original paper, we use revocation preimages instead of sharing
+ temporary private keys.
+ If we also use OP_CHECKLOCKTIMEVERIFY and OP_CHECKSEQUENCEVERIFY it is
+ fairly simple to express these conditions in a single output script.
+\end_layout
+
+\begin_layout Standard
+For each direction the HTLC could transfer funds, there are two scripts
+ required; one for A's commitment transaction and one for B's commitment
+ transaction.
+ It's also a requirement that the conditions which allow payment to oneself
+ be delayed, to give the other side an opportunity to take the funds in
+ case of revocation.
+ This is shown in figure
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:HTLC-Using-Revocation"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+ filename htlc.eps
+ scale 50
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption Standard
+
+\begin_layout Plain Layout
+HTLC Using Revocation Preimages, OP_CLV and OP_CSV
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:HTLC-Using-Revocation"
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+The scripts for this can be found in
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sec:Appendix-A:-Scripts"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Section
+Conclusions
+\end_layout
+
+\begin_layout Standard
+Secret preimages can replace exposure of temporary private keys in the Lightning
+ Network constructs with no loss of generality, and a slight gain in simplicity.
+\end_layout
+
+\begin_layout Standard
+The use of script conditionals to enforce timeouts instead of using separate
+ pre-signed transactions reduces an HTLC from a set of four dual-signed
+ transactions to a single (more complex) output script, and additionally
+ avoids any requirement for new CHECKSIG flags for HTLCs.
+\end_layout
+
+\begin_layout Standard
+By using a dual anchor and escape transactions, channel establishment can
+ also avoid new CHECKSIG flags, though it loses the important ability to
+ outsource the enforcement of channel contract terms.
+\end_layout
+
+\begin_layout Section*
+Acknowlegments
+\end_layout
+
+\begin_layout Standard
+Thanks to Joseph Poon for designing the escape/fast-escape dual-anchor method,
+ as well as finding a flaw in my original formulation of the dual anchor
+ construct and reviewing an earlier draft of this paper.
+ Also thanks to him and Thaddeus Dryja for the initial eye-opening Lightning
+ Network paper.
+\end_layout
+
+\begin_layout Standard
+\begin_inset CommandInset bibtex
+LatexCommand bibtex
+bibfiles "bitcoin"
+options "plain"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section*
+Appendix A: Transaction Scripts
+\begin_inset CommandInset label
+LatexCommand label
+name "sec:Appendix-A:-Scripts"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+All outputs are expressed as pay-to-scripthash outputs, where the redeeming
+ input provides the redeemscript.
+ Where a redeem-hash value is optional, it is generally supplied: for example,
+ if we want to pay to A if a preimage is supplied and B if no preimage is
+ supplied, we expect the input scriptsig to provide two arguments in both
+ cases (generally a zero in the second case).
+ This saves an extra test (of form
+\begin_inset Quotes eld
+\end_inset
+
+OP_DEPTH OP_EQUAL
+\begin_inset Quotes erd
+\end_inset
+
+), at cost of a single byte in the input script.
+\end_layout
+
+\begin_layout Subsection*
+Anchor Transaction
+\end_layout
+
+\begin_layout Standard
+The anchor inputs are whatever the node chooses.
+\end_layout
+
+\begin_layout Subsubsection*
+Anchor Output Redeemscript
+\end_layout
+
+\begin_layout Standard
+The anchor output is a pay to script hash, with a redeemscript as follows:
+\end_layout
+
+\begin_layout Description
+OP_IF They put a non-zero here if they're supplying the secret
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+OP_HASH
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+OP_EQUALVERIFY Check secret is correct.
+\end_layout
+
+\end_deeper
+\begin_layout Description
+OP_ENDIF
+\end_layout
+
+\begin_layout Description
+2
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+2
+\begin_inset space ~
+\end_inset
+
+OP_CHECKMULTISIG Make sure A and B have signed.
+\end_layout
+
+\begin_layout Subsection*
+Escape Transaction
+\end_layout
+
+\begin_layout Standard
+The escape transaction for A spends A's anchor output and reveals A's secret.
+ Similarly for B.
+\end_layout
+
+\begin_layout Subsubsection*
+Escape Input Script
+\end_layout
+
+\begin_layout Description
+
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+SECRET
+\begin_inset space ~
+\end_inset
+
+1
+\begin_inset space ~
+\end_inset
+
+{}
+\end_layout
+
+\begin_layout Subsubsection*
+Escape Output Redeemscript
+\end_layout
+
+\begin_layout Standard
+This allows two paths: one for the other side to use the revocation image,
+ and one for this side to get their funds back after a delay.
+ This show's A's script, but B's is the same with A and B exchanged.
+\end_layout
+
+\begin_layout Description
+OP_HASH160
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+OP_EQUAL Check if the top of stack is the revocation image.
+\end_layout
+
+\begin_layout Description
+OP_IF
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+ Funds for B.
+\end_layout
+
+\end_deeper
+\begin_layout Description
+OP_ELSE It's A getting their funds back
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+
+\begin_inset space ~
+\end_inset
+
+OP_CHECKSEQUENCEVERIFY
+\begin_inset space ~
+\end_inset
+
+OP_DROP Ensure delay.
+\end_layout
+
+\begin_layout Description
+ Needs to be signed by A.
+\end_layout
+
+\end_deeper
+\begin_layout Description
+OP_ENDIF
+\end_layout
+
+\begin_layout Description
+OP_CHECKSIG Make sure it's signed correctly.
+\end_layout
+
+\begin_layout Subsubsection*
+Spending The Escape Output
+\end_layout
+
+\begin_layout Standard
+Either B using a revocation preimage:
+\end_layout
+
+\begin_layout Description
+
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+{}
+\end_layout
+
+\begin_layout Standard
+Or A using after a timeout:
+\end_layout
+
+\begin_layout Description
+
+\begin_inset space ~
+\end_inset
+
+0
+\begin_inset space ~
+\end_inset
+
+{}
+\end_layout
+
+\begin_layout Subsection*
+Fast-Escape Transaction
+\end_layout
+
+\begin_layout Subsubsection*
+Fast-Escape Input Script
+\end_layout
+
+\begin_layout Standard
+This is identical to the normal escape input script.
+\end_layout
+
+\begin_layout Description
+
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+SECRET
+\begin_inset space ~
+\end_inset
+
+1
+\begin_inset space ~
+\end_inset
+
+{}
+\end_layout
+
+\begin_layout Subsubsection*
+Fast-Escape Output Redeemscript
+\end_layout
+
+\begin_layout Standard
+This allows two paths: one for this side to use the other side's secret
+ (revealed by them using an escape transaction), and one for the other side
+ to claim this side's anchor funds after a delay.
+ This show's A's script, but B's is the same with A and B exchanged.
+\end_layout
+
+\begin_layout Description
+OP_HASH
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+OP_EQUAL If top argument is B's secret
+\end_layout
+
+\begin_layout Description
+OP_IF
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+ For A
+\end_layout
+
+\end_deeper
+\begin_layout Description
+OP_ELSE B gets it if A doesn't know the secret.
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+
+\begin_inset space ~
+\end_inset
+
+OP_CHECKSEQUENCEVERIFY
+\begin_inset space ~
+\end_inset
+
+OP_DROP Ensure delay.
+\end_layout
+
+\begin_layout Description
+ Needs to be signed by B.
+\end_layout
+
+\end_deeper
+\begin_layout Description
+OP_ENDIF
+\end_layout
+
+\begin_layout Description
+OP_CHECKSIG Make sure it's signed correctly.
+\end_layout
+
+\begin_layout Subsubsection*
+Spending The Fast-Escape Output
+\end_layout
+
+\begin_layout Standard
+Either A using a B's secret revealed by B using its own escape transaction:
+\end_layout
+
+\begin_layout Description
+
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+{}
+\end_layout
+
+\begin_layout Standard
+Or B using after a timeout:
+\end_layout
+
+\begin_layout Description
+
+\begin_inset space ~
+\end_inset
+
+0
+\begin_inset space ~
+\end_inset
+
+{}
+\end_layout
+
+\begin_layout Subsection*
+Commitment Transactions For Generalized Channels
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:Commitment-Outputs-For"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+These examples are for A's Commitment Transaction; switch A and B to get
+ B's commitment transaction.
+\end_layout
+
+\begin_layout Subsubsection*
+Commitment Input Script
+\end_layout
+
+\begin_layout Standard
+The commitment transaction has two inputs; one which spends each anchor
+ output.
+ The two zeroes indicate it is not revealing the secret:
+\end_layout
+
+\begin_layout Description
+
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+0
+\begin_inset space ~
+\end_inset
+
+0
+\begin_inset space ~
+\end_inset
+
+{}
+\end_layout
+
+\begin_layout Subsubsection*
+Commitment Transaction Output Redeemscripts
+\end_layout
+
+\begin_layout Standard
+One output pays B's funds to B as normal (eg.
+ pay to scripthash
+\begin_inset Quotes eld
+\end_inset
+
+ OP_CHECKSIG
+\begin_inset Quotes erd
+\end_inset
+
+).
+ The other output pays A's funds: either to B if they supply the revocation
+ preimage, or to A after a delay.
+ This is the redeemscript:
+\end_layout
+
+\begin_layout Description
+OP_HASH160
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+OP_EQUAL Did they supply revocation preimage?
+\end_layout
+
+\begin_layout Description
+OP_IF
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+ To B.
+\end_layout
+
+\end_deeper
+\begin_layout Description
+OP_ELSE
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+
+\begin_inset space ~
+\end_inset
+
+OP_CHECKSEQUENCEVERIFY
+\begin_inset space ~
+\end_inset
+
+OP_DROP Spending transaction must be after timeout
+\end_layout
+
+\begin_layout Description
+ To A.
+\end_layout
+
+\end_deeper
+\begin_layout Description
+OP_ENDIF
+\end_layout
+
+\begin_layout Description
+OP_CHECKSIG Signature must be correct.
+\end_layout
+
+\begin_layout Subsubsection*
+Spending Commitment Output
+\end_layout
+
+\begin_layout Standard
+Either B using a revocation preimage:
+\end_layout
+
+\begin_layout Description
+
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+{}
+\end_layout
+
+\begin_layout Standard
+Or A using after a timeout:
+\end_layout
+
+\begin_layout Description
+
+\begin_inset space ~
+\end_inset
+
+0
+\begin_inset space ~
+\end_inset
+
+{}
+\end_layout
+
+\begin_layout Subsection*
+Hash Locked Transaction Commitments
+\end_layout
+
+\begin_layout Standard
+There are two styles of commitment transaction outputs for HTLCs: a
+\begin_inset Quotes eld
+\end_inset
+
+sender
+\begin_inset Quotes erd
+\end_inset
+
+ and
+\begin_inset Quotes eld
+\end_inset
+
+receiver
+\begin_inset Quotes erd
+\end_inset
+
+ case.
+ The output is a pay-to-script-hash, so the redeemscripts are shown below.
+\end_layout
+
+\begin_layout Standard
+These scripts show A as the sender, and B as the receiver: exchange A and
+ B for the reverse.
+\end_layout
+
+\begin_layout Subsubsection*
+HTLC Sender Redeemscript
+\end_layout
+
+\begin_layout Description
+OP_HASH160
+\begin_inset space ~
+\end_inset
+
+OP_DUP Replace top element with two copies of its hash
+\end_layout
+
+\begin_layout Description
+
+\begin_inset space ~
+\end_inset
+
+OP_EQUAL Test if they supplied the HTLC R value
+\end_layout
+
+\begin_layout Description
+OP_SWAP
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+OP_EQUAL
+\begin_inset space ~
+\end_inset
+
+OP_ADD Or the commitment revocation hash
+\end_layout
+
+\begin_layout Description
+OP_IF If any hash matched.
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+ Pay to B.
+\end_layout
+
+\end_deeper
+\begin_layout Description
+OP_ELSE Must be A, after HTLC has timed out.
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+
+\begin_inset space ~
+\end_inset
+
+OP_CHECKLOCKTIMEVERIFY
+\begin_inset space ~
+\end_inset
+
+OP_DROP Ensure (absolute) time has passed.
+\end_layout
+
+\begin_layout Description
+
+\begin_inset space ~
+\end_inset
+
+OP_CHECKSEQUENCEVERIFY
+\begin_inset space ~
+\end_inset
+
+OP_DROP Delay gives B enough time to use revocation if it has it.
+\end_layout
+
+\begin_layout Description
+ Pay to A.
+\end_layout
+
+\end_deeper
+\begin_layout Description
+OP_ENDIF
+\end_layout
+
+\begin_layout Description
+OP_CHECKSIG Verify A or B's signature is correct.
+\end_layout
+
+\begin_layout Subsubsection*
+HTLC Receiver Redeemscript
+\end_layout
+
+\begin_layout Description
+OP_HASH160
+\begin_inset space ~
+\end_inset
+
+OP_DUP Replace top element with two copies of its hash
+\end_layout
+
+\begin_layout Description
+
+\begin_inset space ~
+\end_inset
+
+OP_EQUAL B redeeming the contract, using R preimage?
+\end_layout
+
+\begin_layout Description
+OP_IF
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+OP_DROP Remove extra hash
+\end_layout
+
+\begin_layout Description
+ Pay to B
+\end_layout
+
+\end_deeper
+\begin_layout Description
+OP_ELSE
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+
+\begin_inset space ~
+\end_inset
+
+OP_EQUAL If the commit has been revoked.
+\end_layout
+
+\begin_layout Description
+OP_NOTIF If not, you need to wait for timeout.
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+
+\begin_inset space ~
+\end_inset
+
+OP_CHECKLOCKTIMEVERIFY
+\begin_inset space ~
+\end_inset
+
+OP_DROP Ensure (absolute) time has passed.
+\end_layout
+
+\end_deeper
+\begin_layout Description
+OP_ENDIF
+\end_layout
+
+\begin_layout Description
+ Pay to A
+\end_layout
+
+\end_deeper
+\begin_layout Description
+OP_ENDIF
+\end_layout
+
+\begin_layout Description
+OP_CHECKSIG Verify A or B's signature is correct.
+\end_layout
+
+\begin_layout Subsubsection*
+Redeeming A HTLC Output
+\end_layout
+
+\begin_layout Standard
+To redeem an HTLC, the recipient one provides the preimage R, and their
+ signature.
+ In our example above, B can redeem the HTLC:
+\end_layout
+
+\begin_layout Description
+
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+{}
+\end_layout
+
+\begin_layout Subsubsection*
+Claiming a Timed-out HTLC
+\end_layout
+
+\begin_layout Standard
+To claim a timed-out HTLC, the sender supplies a zero value (which is nice
+ and short, but fails to hash to any of the revocation hashes), and their
+ signature.
+ In our example above, A can claim the timed-out HTLC:
+\end_layout
+
+\begin_layout Description
+
+\begin_inset space ~
+\end_inset
+
+0
+\begin_inset space ~
+\end_inset
+
+{}
+\end_layout
+
+\begin_layout Subsubsection*
+Claiming A HTLC Output For A Revoked Commitment Transaction
+\end_layout
+
+\begin_layout Standard
+If either side publishes a commitment transaction which has been revoked,
+ we can use the revocation preimage they supplied to spend all the outputs.
+ This example shows A claiming the HTLC output if B broadcasts a revoked
+ commitment transaction:
+\end_layout
+
+\begin_layout Description
+
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+{}
+\end_layout
+
+\end_body
+\end_document
diff --git a/doc/deployable-lightning.pdf b/doc/deployable-lightning.pdf
new file mode 100644
index 000000000..ca2b075b2
Binary files /dev/null and b/doc/deployable-lightning.pdf differ
diff --git a/doc/dual-anchor-diag1.eps b/doc/dual-anchor-diag1.eps
new file mode 100644
index 000000000..5d80aa445
--- /dev/null
+++ b/doc/dual-anchor-diag1.eps
@@ -0,0 +1,466 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.14.2 (http://cairographics.org)
+%%CreationDate: Tue Jul 14 10:01:07 2015
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%BoundingBox: 103 375 472 811
+%%EndComments
+%%BeginProlog
+save
+50 dict 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
+%%BeginSetup
+%%BeginResource: font DejaVuSans
+11 dict begin
+/FontType 42 def
+/FontName /DejaVuSans 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 32 /space put
+Encoding 38 /ampersand put
+Encoding 65 /A put
+Encoding 66 /B put
+Encoding 67 /C put
+Encoding 71 /G put
+Encoding 73 /I put
+Encoding 83 /S put
+Encoding 84 /T put
+Encoding 99 /c put
+Encoding 104 /h put
+Encoding 105 /i put
+Encoding 109 /m put
+Encoding 110 /n put
+Encoding 111 /o put
+Encoding 114 /r put
+Encoding 116 /t put
+Encoding 120 /x put
+/CharStrings 19 dict dup begin
+/.notdef 0 def
+/A 1 def
+/n 2 def
+/c 3 def
+/h 4 def
+/o 5 def
+/r 6 def
+/space 7 def
+/B 8 def
+/C 9 def
+/m 10 def
+/i 11 def
+/t 12 def
+/T 13 def
+/x 14 def
+/S 15 def
+/I 16 def
+/G 17 def
+/ampersand 18 def
+end readonly def
+/sfnts [
+<0001000000090080000300106376742000691d3900000d94000001fe6670676d7134766a0000
+0f94000000ab676c796615929d9f0000009c00000cf868656164026638f70000104000000036
+686865610cb806640000107800000024686d7478594408ed0000109c0000004c6c6f63610000
+6ad8000010e8000000506d617870048006710000113800000020707265703b07f10000001158
+0000056800020066fe96046605a400030007001a400c04fb0006fb0108057f0204002fc4d4ec
+310010d4ecd4ec301311211125211121660400fc73031bfce5fe96070ef8f272062900020010
+0000056805d50002000a00c2404100110100040504021105050401110a030a0011020003030a
+0711050406110505040911030a08110a030a4200030795010381090509080706040302010009
+050a0b10d4c4173931002f3ce4d4ec1239304b5358071005ed0705ed071005ed0705ed071008
+ed071005ed071005ed071008ed5922b2200c01015d40420f010f020f070f080f005800760070
+008c000907010802060309041601190256015802500c67016802780176027c03720477077808
+87018802800c980299039604175d005d090121013301230321032302bcfeee0225fe7be50239
+d288fd5f88d5050efd1903aefa2b017ffe810000000100ba00000464047b0013003640190309
+00030e0106870e11b80cbc0a010208004e0d09080b461410fcec32f4ec31002f3ce4f4c4ec11
+12173930b46015cf1502015d0111231134262322061511231133153e013332160464b87c7c95
+acb9b942b375c1c602a4fd5c029e9f9ebea4fd870460ae6564ef00010071ffe303e7047b0019
+003f401b00860188040e860d880ab91104b917b8118c1a07120d004814451a10fce432ec3100
+10e4f4ec10fef4ee10f5ee30400b0f1b101b801b901ba01b05015d01152e0123220615141633
+323637150e0123220011100021321603e74e9d50b3c6c6b3509d4e4da55dfdfed6012d010655
+a20435ac2b2be3cdcde32b2baa2424013e010e0112013a230000000100ba0000046406140013
+00344019030900030e0106870e11b80c970a010208004e0d09080b461410fcec32f4ec31002f
+3cecf4c4ec1112173930b2601501015d0111231134262322061511231133113e013332160464
+b87c7c95acb9b942b375c1c602a4fd5c029e9f9ebea4fd870614fd9e6564ef0000020071ffe3
+0475047b000b0017004a401306b91200b90cb8128c1809120f51031215451810fcecf4ec3100
+10e4f4ec10ee3040233f197b007b067f077f087f097f0a7f0b7b0c7f0d7f0e7f0f7f107f117b
+12a019f01911015d012206151416333236353426273200111000232200111000027394acab95
+93acac93f00112feeef0f1feef011103dfe7c9c9e7e8c8c7e99cfec8feecfeedfec701390113
+011401380000000100ba0000034a047b001100304014060b0700110b03870eb809bc070a0608
+0008461210fcc4ec3231002fe4f4ecc4d4cc11123930b450139f1302015d012e012322061511
+231133153e0133321617034a1f492c9ca7b9b93aba85132e1c03b41211cbbefdb20460ae6663
+05050000000300c9000004ec05d5000800110020004340231900950a0995128101950aad1f11
+0b080213191f05000e1c1605191c2e09001c12042110fcec32fcecd4ec111739393931002fec
+ecf4ec10ee3930b20f2201015d01112132363534262301112132363534262325213216151406
+071e01151404232101930144a39d9da3febc012b94919194fe0b0204e7fa807c95a5fef0fbfd
+e802c9fddd878b8c850266fe3e6f727170a6c0b189a21420cb98c8da00010073ffe3052705f0
+00190036401a0da10eae0a951101a100ae04951791118c1a07190d003014101a10fcec32ec31
+0010e4f4ecf4ec10eef6ee30b40f1b1f1b02015d01152e0123200011100021323637150e0123
+2000111000213216052766e782ff00fef00110010082e7666aed84feadfe7a0186015386ed05
+62d55f5efec7fed8fed9fec75e5fd34848019f01670168019f470000000100ba0000071d047b
+0022005a4026061209180f00061d07150c871d2003b81bbc19100700110f0808065011080f50
+1c18081a462310fcec32fcfcfcec11123931002f3c3ce4f43cc4ec3211121739304013302450
+2470249024a024a024bf24df24ff2409015d013e013332161511231134262322061511231134
+262322061511231133153e01333216042945c082afbeb972758fa6b972778da6b9b93fb0797a
+ab03897c76f5e2fd5c029ea19cbea4fd87029ea29bbfa3fd870460ae67627c000000000200c1
+00000179061400030007002b400e06be04b100bc020501080400460810fc3cec3231002fe4fc
+ec30400b1009400950096009700905015d1333112311331523c1b8b8b8b80460fba00614e900
+00010037000002f2059e0013003840190e05080f03a9001101bc08870a0b0809020400081012
+0e461410fc3cc4fc3cc432393931002fecf43cc4ec3211393930b2af1501015d011121152111
+14163b01152322263511233533110177017bfe854b73bdbdd5a28787059efec28ffda0894e9a
+9fd202608f013e0000000001fffa000004e905d50007004a400e0602950081040140031c0040
+050810d4e4fce431002ff4ec3230014bb00a5458bd00080040000100080008ffc03811373859
+401300091f00100110021f071009400970099f09095d03211521112311210604effdeecbfdee
+05d5aafad5052b000001003b000004790460000b014340460511060706041103040707060411
+050401020103110202010b110001000a11090a0101000a110b0a0708070911080807420a0704
+01040800bf05020a0704010408000208060c10d44bb00a544bb00f545b4bb010545b4bb01154
+5b58b90006004038594bb0145458b90006ffc03859c4d4c411173931002f3cec321739304b53
+58071005ed071008ed071008ed071005ed071005ed071008ed071008ed071005ed5922014098
+0a04040a1a04150a260a3d04310a55045707580a660a76017a047607740a8d04820a99049f04
+9707920a900aa601a904af04a507a30aa00a1c0a03040505090a0b1a03150515091a0b290326
+0525092a0b200d3a013903370534073609390b300d4903460545094a0b400d59005601590259
+0357055606590756085609590b500d6f0d78017f0d9b019407ab01a407b00dcf0ddf0dff0d2f
+5d005d09022309012309013309010464fe6b01aad9febafebad901b3fe72d9012901290460fd
+dffdc101b8fe48024a0216fe71018f0000010087ffe304a205f00027007e403c0d0c020e0b02
+1e1f1e080902070a021f1f1e420a0b1e1f0415010015a11494189511049500942591118c281e
+0a0b1f1b0700221b190e2d071914222810dcc4ecfcece4111239393939310010e4f4e4ec10ee
+f6ee10c6111739304b535807100eed11173907100eed1117395922b20f2901015db61f292f29
+4f29035d01152e012322061514161f011e0115140421222627351e013332363534262f012e01
+353424333216044873cc5fa5b377a67ae2d7feddfee76aef807bec72adbc879a7be2ca0117f5
+69da05a4c53736807663651f192bd9b6d9e0302fd04546887e6e7c1f182dc0abc6e426000001
+00c90000019305d50003002eb700af02011c00040410fc4bb0105458b9000000403859ec3100
+2fec3001400d30054005500560058f059f05065d13331123c9caca05d5fa2b0000010073ffe3
+058b05f0001d0039402000051b0195031b950812a111ae15950e91088c1e02001c1134043318
+190b101e10fcecfce4fcc4310010e4f4ecf4ec10fed4ee113939302511213521110604232000
+11100021320417152e0123200011100021323604c3feb6021275fee6a0fea2fe75018b015e92
+01076f70fc8bfeeefeed011301126ba8d50191a6fd7f53550199016d016e01994846d75f60fe
+cefed1fed2fece25000000020081ffe305fe05f00009003001cd40960d010e0c861112110b86
+0a0b12121109860009151615070106088616161502010301861d1e1d008609001e1e1d201f02
+211e110a130a17161503181411130a07080206091113130a0201020300110a130a1716021815
+11130a141113130a42120b090306000a1e0328150e0628270695182b9527942491188c0e130a
+2e0b0e09002e1215270e1e032e1227210e110f132103121b103110fcecc4d4d4ec10c6ee1139
+111239391139391139113931002fc6e4f6e6ee10ee10c6111239111739111739304b53580710
+05ed0705ed111739071005ed111739071005ed1117390705ed111739071005ed111739071008
+ed07100eed11173907100eed111739071008ed071008ed07100eed1117395922b20f3201015d
+40b2070b052209291c001c011f02170b2a002a0126123a003412440b5e0059015a0a55125a1a
+5a1f5930671e7b009b009a0199029708950b931595169522992d1f090b090c08110c270c2818
+021b09190b190c19111c141c15161d1f3227002701290923122a132a1428152f323b09341239
+133f324a094c144b1546194f3256015a09590c551259135c1f5f326a0c691160327501790c7a
+1193009301970295059c079c089f089a099b0b9a0c9032a032b032395d005d010e0115141633
+32363709013e0137330602070123270e01232200353436372e0135343633321617152e012322
+0615141601f25b55d4a05fa649fe7b01fc3b4206ba0c685d0117fc8f68e483f1fece86863032
+deb853a555579e4469833b032351a15892c23f40028ffdf859cb7284fefe7efee39359570113
+d780e1633f7d3ca2c52424b62f316f583367013500b800cb00cb00c100aa009c01a600b80066
+0000007100cb00a002b20085007500b800c301cb0189022d00cb00a600f000d300aa008700cb
+03aa0400014a003300cb000000d9050200f4015400b4009c01390114013907060400044e04b4
+045204b804e704cd0037047304cd04600473013303a2055605a60556053903c5021200c9001f
+00b801df007300ba03e9033303bc0444040e00df03cd03aa00e503aa0404000000cb008f00a4
+007b00b80014016f007f027b0252008f00c705cd009a009a006f00cb00cd019e01d300f000ba
+018300d5009803040248009e01d500c100cb00f600830354027f00000333026600d300c700a4
+00cd008f009a0073040005d5010a00fe022b00a400b4009c00000062009c0000001d032d05d5
+05d505d505f0007f007b005400a406b80614072301d300b800cb00a601c301ec069300a000d3
+035c037103db0185042304a80448008f0139011401390360008f05d5019a0614072306660179
+046004600460047b009c00000277046001aa00e904600762007b00c5007f027b000000b40252
+05cd006600bc00660077061000cd013b01850389008f007b0000001d00cd074a042f009c009c
+0000077d006f0000006f0335006a006f007b00ae00b2002d0396008f027b00f6008303540637
+05f6008f009c04e10266008f018d02f600cd03440029006604ee00730000140000960000b707
+060504030201002c2010b002254964b040515820c859212d2cb002254964b040515820c85921
+2d2c20100720b00050b00d7920b8ffff5058041b0559b0051cb0032508b0042523e120b00050
+b00d7920b8ffff5058041b0559b0051cb0032508e12d2c4b505820b0fd454459212d2cb00225
+4560442d2c4b5358b00225b0022545445921212d2c45442d2cb00225b0022549b00525b00525
+4960b0206368208a108a233a8a10653a2d00000100000002570a9e9b8d645f0f3cf5001f0800
+00000000cef5cb7600000000cef5cb76f7d6fcae0d7209550000000800000001000000000001
+0000076dfe1d00000de2f7d6fa510d7200010000000000000000000000000000001304cd0066
+05790010051200ba04660071051200ba04e50071034a00ba028b0000057d00c90596007307cb
+00ba023900c10323003704e3fffa04bc003b05140087025c00c906330073063d008100000000
+0000004400000140000001b800000250000002c80000036c000003dc000003dc0000048c0000
+0524000005e800000638000006b400000724000008a8000009a0000009e800000a9000000cf8
+0001000000130354002b0068000c000200100099000800000415021600080004b8028040fffb
+fe03fa1403f92503f83203f79603f60e03f5fe03f4fe03f32503f20e03f19603f02503ef8a41
+05effe03ee9603ed9603ecfa03ebfa03eafe03e93a03e84203e7fe03e63203e5e45305e59603
+e48a4105e45303e3e22f05e3fa03e22f03e1fe03e0fe03df3203de1403dd9603dcfe03db1203
+da7d03d9bb03d8fe03d68a4105d67d03d5d44705d57d03d44703d3d21b05d3fe03d21b03d1fe
+03d0fe03cffe03cefe03cd9603cccb1e05ccfe03cb1e03ca3203c9fe03c6851105c61c03c516
+03c4fe03c3fe03c2fe03c1fe03c0fe03bffe03befe03bdfe03bcfe03bbfe03ba1103b9862505
+b9fe03b8b7bb05b8fe03b7b65d05b7bb03b78004b6b52505b65d40ff03b64004b52503b4fe03
+b39603b2fe03b1fe03b0fe03affe03ae6403ad0e03acab2505ac6403abaa1205ab2503aa1203
+a98a4105a9fa03a8fe03a7fe03a6fe03a51203a4fe03a3a20e05a33203a20e03a16403a08a41
+05a096039ffe039e9d0c059efe039d0c039c9b19059c64039b9a10059b19039a1003990a0398
+fe0397960d0597fe03960d03958a410595960394930e05942803930e0392fa039190bb0591fe
+03908f5d0590bb039080048f8e25058f5d038f40048e25038dfe038c8b2e058cfe038b2e038a
+8625058a410389880b05891403880b03878625058764038685110586250385110384fe038382
+110583fe0382110381fe0380fe037ffe0340ff7e7d7d057efe037d7d037c64037b5415057b25
+037afe0379fe03780e03770c03760a0375fe0374fa0373fa0372fa0371fa0370fe036ffe036e
+fe036c21036bfe036a1142056a530369fe03687d036711420566fe0365fe0364fe0363fe0362
+fe03613a0360fa035e0c035dfe035bfe035afe0359580a0559fa03580a035716190557320356
+fe035554150555420354150353011005531803521403514a130551fe03500b034ffe034e4d10
+054efe034d10034cfe034b4a13054bfe034a4910054a1303491d0d05491003480d0347fe0346
+960345960344fe0343022d0543fa0342bb03414b0340fe033ffe033e3d12053e14033d3c0f05
+3d12033c3b0d053c40ff0f033b0d033afe0339fe033837140538fa033736100537140336350b
+05361003350b03341e03330d0332310b0532fe03310b03302f0b05300d032f0b032e2d09052e
+10032d09032c32032b2a25052b64032a2912052a25032912032827250528410327250326250b
+05260f03250b0324fe0323fe03220f03210110052112032064031ffa031e1d0d051e64031d0d
+031c1142051cfe031bfa031a42031911420519fe031864031716190517fe0316011005161903
+15fe0314fe0313fe031211420512fe0311022d05114203107d030f64030efe030d0c16050dfe
+030c0110050c16030bfe030a100309fe0308022d0508fe030714030664030401100504fe0340
+1503022d0503fe0302011005022d0301100300fe0301b80164858d012b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b002b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b1d00>
+] def
+/f-0-0 currentdict end definefont pop
+%%EndResource
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 103 375 472 811
+%%EndPageSetup
+q 103 375 369 436 rectclip q
+0 g
+BT
+17.6 0 0 17.6 144.230383 731.577319 Tm
+/f-0-0 1 Tf
+[(Anchor)-3( A)]TJ
+11.78352 -0.0324679 Td
+[(Anchor)-3( B)]TJ
+ET
+2.4 w
+1 J
+1 j
+[] 0.0 d
+4 M q 1 0 0 -1 0 841.889771 cm
+136.09 87.465 96 32.57 re S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 841.889771 cm
+184.09 118.895 m 183.887 226.375 l 271.77 225.562 l 273.789 329 l S Q
+273.633 520.886 m 270.371 524.023 l 273.789 512.89 l 276.77 524.148 l h
+273.633 520.886 m f*
+0.799847 w
+q -0.0195316 1 1 0.0195316 0 841.889771 cm
+-326.224 267.261 m -323.025 264.062 l -334.22 267.261 l -323.025 270.46
+ l h
+-326.224 267.261 m S Q
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 841.889771 cm
+342.945 87.465 96 33.715 re S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 841.889771 cm
+390.945 120.035 m 391.754 227.113 l 300.438 226.707 l 300.438 328.527 l
+ S Q
+300.438 521.362 m 297.234 524.562 l 300.438 513.362 l 303.637 524.562 l
+ h
+300.438 521.362 m f*
+0.8 w
+q 0.000000078569 1 1 -0.000000078569 0 841.889771 cm
+-320.527 300.438 m -317.328 297.234 l -328.527 300.438 l -317.328 303.637
+ l h
+-320.527 300.438 m S Q
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 841.889771 cm
+151.195 383.562 96 80 re S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 841.889771 cm
+103.516 47.465 m 152.09 84.609 l S Q
+145.734 762.14 m 141.246 761.542 l 152.09 757.28 l 145.137 766.628 l h
+145.734 762.14 m f*
+0.635486 w
+q -1 0.764706 0.764706 1 0 841.889771 cm
+-130.441 19.999 m -127.897 17.456 l -136.796 19.999 l -127.898 22.543 l
+ h
+-130.441 19.999 m S Q
+0.8 w
+q 1 0 0 -1 0 841.889771 cm
+215.516 40.609 m 208.09 85.75 l S Q
+209.387 764.034 m 206.75 767.71 l 208.09 756.14 l 213.062 766.671 l h
+209.387 764.034 m f*
+0.789384 w
+q 0.164557 1 1 -0.164557 0 841.889771 cm
+-42.255 216.34 m -39.099 213.184 l -50.149 216.342 l -39.099 219.497 l
+h
+-42.255 216.34 m S Q
+0.8 w
+q 1 0 0 -1 0 841.889771 cm
+311.516 47.465 m 360.09 84.609 l S Q
+353.734 762.14 m 349.246 761.542 l 360.09 757.28 l 353.137 766.628 l h
+353.734 762.14 m f*
+0.635486 w
+q -1 0.764706 0.764706 1 0 841.889771 cm
+-261.69 120.366 m -259.146 117.823 l -268.045 120.366 l -259.147 122.91
+ l h
+-261.69 120.366 m S Q
+0.8 w
+q 1 0 0 -1 0 841.889771 cm
+470.945 48.035 m 422.945 86.324 l S Q
+429.199 760.554 m 429.707 765.054 l 422.945 755.566 l 433.695 760.05 l
+h
+429.199 760.554 m f*
+0.625421 w
+q 1 0.797619 0.797619 -1 0 841.889771 cm
+222.665 258.938 m 225.169 256.435 l 216.411 258.938 l 225.168 261.438 l
+ h
+222.665 258.938 m S Q
+0.8 w
+q 1 0 0 -1 0 841.889771 cm
+432.09 32.035 m 400.66 85.75 l S Q
+404.699 763.042 m 403.555 767.421 l 400.66 756.14 l 409.078 764.191 l h
+404.699 763.042 m f*
+0.69049 w
+q 0.585107 1 1 -0.585107 0 841.889771 cm
+117.663 335.854 m 120.426 333.093 l 110.76 335.854 l 120.427 338.616 l
+h
+117.663 335.854 m S Q
+BT
+17.6 0 0 17.6 164.334229 422.643237 Tm
+/f-0-0 1 Tf
+[(Commit)]TJ
+0.862305 -1.25 Td
+(Tx A)Tj
+ET
+0.8 w
+q 1 0 0 -1 0 841.889771 cm
+264.246 342.754 m 191.934 342.18 l 191.934 382.18 l S Q
+191.934 467.71 m 188.734 470.909 l 191.934 459.71 l 195.133 470.909 l h
+191.934 467.71 m f*
+0.8 w
+q 0.0000002 1 1 -0.0000002 0 841.889771 cm
+-374.18 191.934 m -370.98 188.734 l -382.18 191.934 l -370.98 195.133 l
+ h
+-374.18 191.934 m S Q
+BT
+12 0 0 12 155.950134 708.444678 Tm
+/f-0-0 1 Tf
+(SIGA & SIGB)Tj
+ET
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 841.889771 cm
+328.812 384.531 96 80 re S Q
+BT
+17.6 0 0 17.6 341.950464 421.672681 Tm
+/f-0-0 1 Tf
+[(Commit)]TJ
+0.861328 -1.25 Td
+(Tx B)Tj
+ET
+q 1 0 0 -1 0 841.889771 cm
+311.516 351.465 m 311.516 364.719 300.773 375.465 287.516 375.465 c 274.262
+ 375.465 263.516 364.719 263.516 351.465 c 263.516 338.211 274.262 327.465
+ 287.516 327.465 c 300.773 327.465 311.516 338.211 311.516 351.465 c h
+311.516 351.465 m S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 841.889771 cm
+287.516 327.465 m 287.516 375.465 l S Q
+q 1 0 0 -1 0 841.889771 cm
+263.516 351.465 m 311.516 351.465 l S Q
+q 1 0 0 -1 0 841.889771 cm
+264.246 358.754 m 207.934 358.754 l 207.934 382.18 l S Q
+207.934 467.71 m 204.734 470.909 l 207.934 459.71 l 211.133 470.909 l h
+207.934 467.71 m f*
+0.8 w
+q 0.000000341463 1 1 -0.000000341463 0 841.889771 cm
+-374.18 207.934 m -370.98 204.735 l -382.18 207.934 l -370.98 211.133 l
+ h
+-374.18 207.934 m S Q
+0.8 w
+q 1 0 0 -1 0 841.889771 cm
+310.215 342.754 m 382.523 342.18 l 382.523 382.18 l S Q
+382.523 467.71 m 379.324 470.909 l 382.523 459.71 l 385.723 470.909 l h
+382.523 467.71 m f*
+0.8 w
+q -0.0000002 1 1 0.0000002 0 841.889771 cm
+-374.18 382.523 m -370.981 379.324 l -382.18 382.523 l -370.981 385.723
+ l h
+-374.18 382.523 m S Q
+0.8 w
+q 1 0 0 -1 0 841.889771 cm
+310.215 358.754 m 366.523 358.754 l 366.523 382.18 l S Q
+366.523 467.71 m 363.324 470.909 l 366.523 459.71 l 369.723 470.909 l h
+366.523 467.71 m f*
+0.8 w
+q -0.000000341463 1 1 0.000000341463 0 841.889771 cm
+-374.18 366.523 m -370.981 363.324 l -382.18 366.523 l -370.981 369.723
+ l h
+-374.18 366.523 m S Q
+BT
+12 0 0 12 167.8396 444.80813 Tm
+/f-0-0 1 Tf
+(SIG A & B)Tj
+14.845178 -0.134686 Td
+(SIG A & B)Tj
+1.258278 22.063959 Td
+(SIGA & SIGB)Tj
+ET
+Q Q
+showpage
+%%Trailer
+end restore
+%%EOF
diff --git a/doc/dual-anchor-diag1.svg b/doc/dual-anchor-diag1.svg
new file mode 100644
index 000000000..f3bee7c5c
--- /dev/null
+++ b/doc/dual-anchor-diag1.svg
@@ -0,0 +1,527 @@
+
+
+
+
diff --git a/doc/dual-anchor-diag2.eps b/doc/dual-anchor-diag2.eps
new file mode 100644
index 000000000..995989fc2
--- /dev/null
+++ b/doc/dual-anchor-diag2.eps
@@ -0,0 +1,637 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.14.2 (http://cairographics.org)
+%%CreationDate: Tue Jul 14 10:40:39 2015
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%BoundingBox: 26 -1 525 434
+%%EndComments
+%%BeginProlog
+save
+50 dict 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
+%%BeginSetup
+%%BeginResource: font DejaVuSans
+11 dict begin
+/FontType 42 def
+/FontName /DejaVuSans 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 32 /space put
+Encoding 38 /ampersand put
+Encoding 65 /A put
+Encoding 66 /B put
+Encoding 67 /C put
+Encoding 69 /E put
+Encoding 71 /G put
+Encoding 73 /I put
+Encoding 83 /S put
+Encoding 84 /T put
+Encoding 97 /a put
+Encoding 99 /c put
+Encoding 101 /e put
+Encoding 104 /h put
+Encoding 105 /i put
+Encoding 109 /m put
+Encoding 110 /n put
+Encoding 111 /o put
+Encoding 112 /p put
+Encoding 114 /r put
+Encoding 115 /s put
+Encoding 116 /t put
+Encoding 120 /x put
+/CharStrings 24 dict dup begin
+/.notdef 0 def
+/A 1 def
+/n 2 def
+/c 3 def
+/h 4 def
+/o 5 def
+/r 6 def
+/space 7 def
+/B 8 def
+/C 9 def
+/m 10 def
+/i 11 def
+/t 12 def
+/T 13 def
+/x 14 def
+/E 15 def
+/s 16 def
+/a 17 def
+/p 18 def
+/e 19 def
+/S 20 def
+/I 21 def
+/G 22 def
+/ampersand 23 def
+end readonly def
+/sfnts [
+<0001000000090080000300106376742000691d39000011f4000001fe6670676d7134766a0000
+13f4000000ab676c79668c28776e0000009c0000115868656164026638f7000014a000000036
+686865610cb80669000014d800000024686d747871640bcb000014fc000000606c6f63610000
+b4980000155c000000646d61787004850671000015c000000020707265703b07f100000015e0
+0000056800020066fe96046605a400030007001a400c04fb0006fb0108057f0204002fc4d4ec
+310010d4ecd4ec301311211125211121660400fc73031bfce5fe96070ef8f272062900020010
+0000056805d50002000a00c2404100110100040504021105050401110a030a0011020003030a
+0711050406110505040911030a08110a030a4200030795010381090509080706040302010009
+050a0b10d4c4173931002f3ce4d4ec1239304b5358071005ed0705ed071005ed0705ed071008
+ed071005ed071005ed071008ed5922b2200c01015d40420f010f020f070f080f005800760070
+008c000907010802060309041601190256015802500c67016802780176027c03720477077808
+87018802800c980299039604175d005d090121013301230321032302bcfeee0225fe7be50239
+d288fd5f88d5050efd1903aefa2b017ffe810000000100ba00000464047b0013003640190309
+00030e0106870e11b80cbc0a010208004e0d09080b461410fcec32f4ec31002f3ce4f4c4ec11
+12173930b46015cf1502015d0111231134262322061511231133153e013332160464b87c7c95
+acb9b942b375c1c602a4fd5c029e9f9ebea4fd870460ae6564ef00010071ffe303e7047b0019
+003f401b00860188040e860d880ab91104b917b8118c1a07120d004814451a10fce432ec3100
+10e4f4ec10fef4ee10f5ee30400b0f1b101b801b901ba01b05015d01152e0123220615141633
+323637150e0123220011100021321603e74e9d50b3c6c6b3509d4e4da55dfdfed6012d010655
+a20435ac2b2be3cdcde32b2baa2424013e010e0112013a230000000100ba0000046406140013
+00344019030900030e0106870e11b80c970a010208004e0d09080b461410fcec32f4ec31002f
+3cecf4c4ec1112173930b2601501015d0111231134262322061511231133113e013332160464
+b87c7c95acb9b942b375c1c602a4fd5c029e9f9ebea4fd870614fd9e6564ef0000020071ffe3
+0475047b000b0017004a401306b91200b90cb8128c1809120f51031215451810fcecf4ec3100
+10e4f4ec10ee3040233f197b007b067f077f087f097f0a7f0b7b0c7f0d7f0e7f0f7f107f117b
+12a019f01911015d012206151416333236353426273200111000232200111000027394acab95
+93acac93f00112feeef0f1feef011103dfe7c9c9e7e8c8c7e99cfec8feecfeedfec701390113
+011401380000000100ba0000034a047b001100304014060b0700110b03870eb809bc070a0608
+0008461210fcc4ec3231002fe4f4ecc4d4cc11123930b450139f1302015d012e012322061511
+231133153e0133321617034a1f492c9ca7b9b93aba85132e1c03b41211cbbefdb20460ae6663
+05050000000300c9000004ec05d5000800110020004340231900950a0995128101950aad1f11
+0b080213191f05000e1c1605191c2e09001c12042110fcec32fcecd4ec111739393931002fec
+ecf4ec10ee3930b20f2201015d01112132363534262301112132363534262325213216151406
+071e01151404232101930144a39d9da3febc012b94919194fe0b0204e7fa807c95a5fef0fbfd
+e802c9fddd878b8c850266fe3e6f727170a6c0b189a21420cb98c8da00010073ffe3052705f0
+00190036401a0da10eae0a951101a100ae04951791118c1a07190d003014101a10fcec32ec31
+0010e4f4ecf4ec10eef6ee30b40f1b1f1b02015d01152e0123200011100021323637150e0123
+2000111000213216052766e782ff00fef00110010082e7666aed84feadfe7a0186015386ed05
+62d55f5efec7fed8fed9fec75e5fd34848019f01670168019f470000000100ba0000071d047b
+0022005a4026061209180f00061d07150c871d2003b81bbc19100700110f0808065011080f50
+1c18081a462310fcec32fcfcfcec11123931002f3c3ce4f43cc4ec3211121739304013302450
+2470249024a024a024bf24df24ff2409015d013e013332161511231134262322061511231134
+262322061511231133153e01333216042945c082afbeb972758fa6b972778da6b9b93fb0797a
+ab03897c76f5e2fd5c029ea19cbea4fd87029ea29bbfa3fd870460ae67627c000000000200c1
+00000179061400030007002b400e06be04b100bc020501080400460810fc3cec3231002fe4fc
+ec30400b1009400950096009700905015d1333112311331523c1b8b8b8b80460fba00614e900
+00010037000002f2059e0013003840190e05080f03a9001101bc08870a0b0809020400081012
+0e461410fc3cc4fc3cc432393931002fecf43cc4ec3211393930b2af1501015d011121152111
+14163b01152322263511233533110177017bfe854b73bdbdd5a28787059efec28ffda0894e9a
+9fd202608f013e0000000001fffa000004e905d50007004a400e0602950081040140031c0040
+050810d4e4fce431002ff4ec3230014bb00a5458bd00080040000100080008ffc03811373859
+401300091f00100110021f071009400970099f09095d03211521112311210604effdeecbfdee
+05d5aafad5052b000001003b000004790460000b014340460511060706041103040707060411
+050401020103110202010b110001000a11090a0101000a110b0a0708070911080807420a0704
+01040800bf05020a0704010408000208060c10d44bb00a544bb00f545b4bb010545b4bb01154
+5b58b90006004038594bb0145458b90006ffc03859c4d4c411173931002f3cec321739304b53
+58071005ed071008ed071008ed071005ed071005ed071008ed071008ed071005ed5922014098
+0a04040a1a04150a260a3d04310a55045707580a660a76017a047607740a8d04820a99049f04
+9707920a900aa601a904af04a507a30aa00a1c0a03040505090a0b1a03150515091a0b290326
+0525092a0b200d3a013903370534073609390b300d4903460545094a0b400d59005601590259
+0357055606590756085609590b500d6f0d78017f0d9b019407ab01a407b00dcf0ddf0dff0d2f
+5d005d09022309012309013309010464fe6b01aad9febafebad901b3fe72d9012901290460fd
+dffdc101b8fe48024a0216fe71018f00000100c90000048b05d5000b002e4015069504029500
+81089504ad0a05010907031c00040c10fcec32d4c4c431002fececf4ec10ee30b21f0d01015d
+132115211121152111211521c903b0fd1a02c7fd3902f8fc3e05d5aafe46aafde3aa00000001
+006fffe303c7047b002700e7403c0d0c020e0b531f1e080902070a531f1f1e420a0b1e1f0415
+00860189041486158918b91104b925b8118c281e0a0b1f1b0700521b080e07081422452810fc
+c4ecd4ece4111239393939310010e4f4ec10fef5ee10f5ee121739304b535807100eed111739
+070eed1117395922b2002701015d406d1c0a1c0b1c0c2e092c0a2c0b2c0c3b093b0a3b0b3b0c
+0b200020012402280a280b2a132f142f152a16281e281f292029212427860a860b860c860d12
+000000010202060a060b030c030d030e030f03100319031a031b031c041d09272f293f295f29
+7f2980299029a029f029185d005d7101152e012322061514161f011e0115140623222627351e
+013332363534262f012e01353436333216038b4ea85a898962943fc4a5f7d85ac36c66c66182
+8c65ab40ab98e0ce66b4043fae282854544049210e2a99899cb62323be353559514b50250f24
+95829eac1e0000000002007bffe3042d047b000a002500bc4027191f0b17090e00a91706b90e
+1120861fba1cb923b8118c170c001703180d09080b1f030814452610fcecccd4ec3232113939
+31002fc4e4f4fcf4ec10c6ee10ee11391139123930406e301d301e301f3020302130223f2740
+1d401e401f402040214022501d501e501f50205021502250277027851d871e871f8720872185
+229027a027f0271e301e301f30203021401e401f40204021501e501f50205021601e601f6020
+6021701e701f70207021801e801f80208021185d015d0122061514163332363d01371123350e
+01232226353436332135342623220607353e0133321602bedfac816f99b9b8b83fbc88accbfd
+fb0102a79760b65465be5af3f00233667b6273d9b4294cfd81aa6661c1a2bdc0127f8b2e2eaa
+2727fc00000200bafe5604a4047b0010001c003e401b1ab9000e14b90508b80e8c01bd03bc1d
+11120b471704000802461d10fcec3232f4ec310010e4e4e4f4c4ec10c4ee304009601e801ea0
+1ee01e04015d2511231133153e013332001110022322260134262322061514163332360173b9
+b93ab17bcc00ffffcc7bb10238a79292a7a79292a7a8fdae060aaa6461febcfef8fef8febc61
+01ebcbe7e7cbcbe7e700000000020071ffe3047f047b0014001b007040240015010986088805
+15a90105b90c01bb18b912b80c8c1c1b1502081508004b02120f451c10fcecf4ecc411123931
+0010e4f4ece410ee10ee10f4ee1112393040293f1d701da01dd01df01d053f003f013f023f15
+3f1b052c072f082f092c0a6f006f016f026f156f1b095d71015d0115211e0133323637150e01
+232000111000333200072e0123220607047ffcb20ccdb76ac76263d06bfef4fec70129fce201
+07b802a5889ab90e025e5abec73434ae2a2c0138010a01130143feddc497b4ae9e0000010087
+ffe304a205f00027007e403c0d0c020e0b021e1f1e080902070a021f1f1e420a0b1e1f041501
+0015a11494189511049500942591118c281e0a0b1f1b0700221b190e2d071914222810dcc4ec
+fcece4111239393939310010e4f4e4ec10eef6ee10c6111739304b535807100eed1117390710
+0eed1117395922b20f2901015db61f292f294f29035d01152e012322061514161f011e011514
+0421222627351e013332363534262f012e01353424333216044873cc5fa5b377a67ae2d7fedd
+fee76aef807bec72adbc879a7be2ca0117f569da05a4c53736807663651f192bd9b6d9e0302f
+d04546887e6e7c1f182dc0abc6e42600000100c90000019305d50003002eb700af02011c0004
+0410fc4bb0105458b9000000403859ec31002fec3001400d30054005500560058f059f05065d
+13331123c9caca05d5fa2b0000010073ffe3058b05f0001d0039402000051b0195031b950812
+a111ae15950e91088c1e02001c1134043318190b101e10fcecfce4fcc4310010e4f4ecf4ec10
+fed4ee11393930251121352111060423200011100021320417152e0123200011100021323604
+c3feb6021275fee6a0fea2fe75018b015e9201076f70fc8bfeeefeed011301126ba8d50191a6
+fd7f53550199016d016e01994846d75f60fecefed1fed2fece25000000020081ffe305fe05f0
+0009003001cd40960d010e0c861112110b860a0b121211098600091516150701060886161615
+02010301861d1e1d008609001e1e1d201f02211e110a130a17161503181411130a0708020609
+1113130a0201020300110a130a171602181511130a141113130a42120b090306000a1e032815
+0e0628270695182b9527942491188c0e130a2e0b0e09002e1215270e1e032e1227210e110f13
+2103121b103110fcecc4d4d4ec10c6ee1139111239391139391139113931002fc6e4f6e6ee10
+ee10c6111239111739111739304b5358071005ed0705ed111739071005ed111739071005ed11
+17390705ed111739071005ed111739071008ed07100eed11173907100eed111739071008ed07
+1008ed07100eed1117395922b20f3201015d40b2070b052209291c001c011f02170b2a002a01
+26123a003412440b5e0059015a0a55125a1a5a1f5930671e7b009b009a0199029708950b9315
+95169522992d1f090b090c08110c270c2818021b09190b190c19111c141c15161d1f32270027
+01290923122a132a1428152f323b09341239133f324a094c144b1546194f3256015a09590c55
+1259135c1f5f326a0c691160327501790c7a1193009301970295059c079c089f089a099b0b9a
+0c9032a032b032395d005d010e011514163332363709013e0137330602070123270e01232200
+353436372e0135343633321617152e0123220615141601f25b55d4a05fa649fe7b01fc3b4206
+ba0c685d0117fc8f68e483f1fece86863032deb853a555579e4469833b032351a15892c23f40
+028ffdf859cb7284fefe7efee39359570113d780e1633f7d3ca2c52424b62f316f5833670135
+00b800cb00cb00c100aa009c01a600b800660000007100cb00a002b20085007500b800c301cb
+0189022d00cb00a600f000d300aa008700cb03aa0400014a003300cb000000d9050200f40154
+00b4009c01390114013907060400044e04b4045204b804e704cd0037047304cd046004730133
+03a2055605a60556053903c5021200c9001f00b801df007300ba03e9033303bc0444040e00df
+03cd03aa00e503aa0404000000cb008f00a4007b00b80014016f007f027b0252008f00c705cd
+009a009a006f00cb00cd019e01d300f000ba018300d5009803040248009e01d500c100cb00f6
+00830354027f00000333026600d300c700a400cd008f009a0073040005d5010a00fe022b00a4
+00b4009c00000062009c0000001d032d05d505d505d505f0007f007b005400a406b806140723
+01d300b800cb00a601c301ec069300a000d3035c037103db0185042304a80448008f01390114
+01390360008f05d5019a0614072306660179046004600460047b009c00000277046001aa00e9
+04600762007b00c5007f027b000000b4025205cd006600bc00660077061000cd013b01850389
+008f007b0000001d00cd074a042f009c009c0000077d006f0000006f0335006a006f007b00ae
+00b2002d0396008f027b00f600830354063705f6008f009c04e10266008f018d02f600cd0344
+0029006604ee00730000140000960000b707060504030201002c2010b002254964b040515820
+c859212d2cb002254964b040515820c859212d2c20100720b00050b00d7920b8ffff5058041b
+0559b0051cb0032508b0042523e120b00050b00d7920b8ffff5058041b0559b0051cb0032508
+e12d2c4b505820b0fd454459212d2cb002254560442d2c4b5358b00225b0022545445921212d
+2c45442d2cb00225b0022549b00525b005254960b0206368208a108a233a8a10653a2d000001
+00000002570a812518945f0f3cf5001f080000000000cef5cb7600000000cef5cb76f7d6fcae
+0d72095500000008000000010000000000010000076dfe1d00000de2f7d6fa510d7200010000
+000000000000000000000000001804cd006605790010051200ba04660071051200ba04e50071
+034a00ba028b0000057d00c90596007307cb00ba023900c10323003704e3fffa04bc003b050e
+00c9042b006f04e7007b051400ba04ec007105140087025c00c906330073063d008100000000
+0000004400000140000001b800000250000002c80000036c000003dc000003dc0000048c0000
+0524000005e800000638000006b400000724000008a80000090800000a6800000b9400000c34
+00000d0800000e0000000e4800000ef0000011580001000000180354002b0068000c00020010
+0099000800000415021600080004b8028040fffbfe03fa1403f92503f83203f79603f60e03f5
+fe03f4fe03f32503f20e03f19603f02503ef8a4105effe03ee9603ed9603ecfa03ebfa03eafe
+03e93a03e84203e7fe03e63203e5e45305e59603e48a4105e45303e3e22f05e3fa03e22f03e1
+fe03e0fe03df3203de1403dd9603dcfe03db1203da7d03d9bb03d8fe03d68a4105d67d03d5d4
+4705d57d03d44703d3d21b05d3fe03d21b03d1fe03d0fe03cffe03cefe03cd9603cccb1e05cc
+fe03cb1e03ca3203c9fe03c6851105c61c03c51603c4fe03c3fe03c2fe03c1fe03c0fe03bffe
+03befe03bdfe03bcfe03bbfe03ba1103b9862505b9fe03b8b7bb05b8fe03b7b65d05b7bb03b7
+8004b6b52505b65d40ff03b64004b52503b4fe03b39603b2fe03b1fe03b0fe03affe03ae6403
+ad0e03acab2505ac6403abaa1205ab2503aa1203a98a4105a9fa03a8fe03a7fe03a6fe03a512
+03a4fe03a3a20e05a33203a20e03a16403a08a4105a096039ffe039e9d0c059efe039d0c039c
+9b19059c64039b9a10059b19039a1003990a0398fe0397960d0597fe03960d03958a41059596
+0394930e05942803930e0392fa039190bb0591fe03908f5d0590bb039080048f8e25058f5d03
+8f40048e25038dfe038c8b2e058cfe038b2e038a8625058a410389880b05891403880b038786
+25058764038685110586250385110384fe038382110583fe0382110381fe0380fe037ffe0340
+ff7e7d7d057efe037d7d037c64037b5415057b25037afe0379fe03780e03770c03760a0375fe
+0374fa0373fa0372fa0371fa0370fe036ffe036efe036c21036bfe036a1142056a530369fe03
+687d036711420566fe0365fe0364fe0363fe0362fe03613a0360fa035e0c035dfe035bfe035a
+fe0359580a0559fa03580a035716190557320356fe0355541505554203541503530110055318
+03521403514a130551fe03500b034ffe034e4d10054efe034d10034cfe034b4a13054bfe034a
+4910054a1303491d0d05491003480d0347fe0346960345960344fe0343022d0543fa0342bb03
+414b0340fe033ffe033e3d12053e14033d3c0f053d12033c3b0d053c40ff0f033b0d033afe03
+39fe033837140538fa033736100537140336350b05361003350b03341e03330d0332310b0532
+fe03310b03302f0b05300d032f0b032e2d09052e10032d09032c32032b2a25052b64032a2912
+052a25032912032827250528410327250326250b05260f03250b0324fe0323fe03220f032101
+10052112032064031ffa031e1d0d051e64031d0d031c1142051cfe031bfa031a420319114205
+19fe031864031716190517fe031601100516190315fe0314fe0313fe031211420512fe031102
+2d05114203107d030f64030efe030d0c16050dfe030c0110050c16030bfe030a100309fe0308
+022d0508fe030714030664030401100504fe03401503022d0503fe0302011005022d03011003
+00fe0301b80164858d012b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b002b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b1d00>
+] def
+/f-0-0 currentdict end definefont pop
+%%EndResource
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 26 -1 525 434
+%%EndPageSetup
+q 26 -1 499 435 rectclip q
+0 g
+BT
+17.6 0 0 17.6 130.590635 355.418671 Tm
+/f-0-0 1 Tf
+[(Anchor)-3( A)]TJ
+11.78352 -0.0324679 Td
+[(Anchor)-3( B)]TJ
+ET
+2.4 w
+1 J
+1 j
+[] 0.0 d
+4 M q 1 0 0 -1 0 433.896301 cm
+122.449 55.629 96 32.574 re S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+170.449 87.059 m 170.449 167.059 l S Q
+170.449 274.838 m 167.25 278.037 l 170.449 266.838 l 173.648 278.037 l
+h
+170.449 274.838 m f*
+0.8 w
+q 0 1 1 0 0 433.896301 cm
+-159.059 170.449 m -155.859 167.25 l -167.059 170.449 l -155.859 173.648
+ l h
+-159.059 170.449 m S Q
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+329.305 55.629 96 33.715 re S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+377.305 88.203 m 377.305 168.203 l S Q
+377.305 273.693 m 374.105 276.892 l 377.305 265.693 l 380.504 276.892 l
+ h
+377.305 273.693 m f*
+0.8 w
+q 0 1 1 0 0 433.896301 cm
+-160.203 377.305 m -157.004 374.105 l -168.203 377.305 l -157.004 380.504
+ l h
+-160.203 377.305 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+170.164 216.844 m 170.449 256.203 l 265.957 256.105 l 265.387 297.246 l
+ S Q
+265.496 144.65 m 262.344 147.892 l 265.387 136.65 l 268.742 147.803 l h
+265.496 144.65 m f*
+0.799923 w
+q 0.0138888 1 1 -0.0138888 0 433.896301 cm
+-285.504 269.461 m -282.306 266.265 l -293.504 269.463 l -282.307 272.663
+ l h
+-285.504 269.461 m S Q
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+137.555 351.727 96 80 re S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+89.879 15.629 m 138.449 52.773 l S Q
+132.094 385.982 m 127.609 385.385 l 138.449 381.123 l 131.496 390.467 l
+ h
+132.094 385.982 m f*
+0.635486 w
+q -1 0.764706 0.764706 1 0 433.896301 cm
+-106.472 33.506 m -103.931 30.965 l -112.827 33.506 l -103.931 36.047 l
+ h
+-106.472 33.506 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+201.879 8.773 m 194.449 53.918 l S Q
+195.746 387.873 m 193.109 391.553 l 194.449 379.978 l 199.426 390.513 l
+ h
+195.746 387.873 m f*
+0.789384 w
+q 0.164557 1 1 -0.164557 0 433.896301 cm
+-13.448 197.959 m -10.288 194.802 l -21.342 197.961 l -10.287 201.119 l
+ h
+-13.448 197.959 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+297.879 15.629 m 346.449 52.773 l S Q
+340.094 385.982 m 335.609 385.385 l 346.449 381.123 l 339.496 390.467 l
+ h
+340.094 385.982 m f*
+0.635486 w
+q -1 0.764706 0.764706 1 0 433.896301 cm
+-237.721 133.872 m -235.179 131.331 l -244.076 133.873 l -235.18 136.414
+ l h
+-237.721 133.872 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+457.305 16.203 m 409.305 54.488 l S Q
+415.559 384.396 m 416.066 388.892 l 409.305 379.408 l 420.059 383.892 l
+ h
+415.559 384.396 m f*
+0.625421 w
+q 1 0.797619 0.797619 -1 0 433.896301 cm
+229.848 232.831 m 232.35 230.331 l 223.594 232.831 l 232.353 235.333 l
+h
+229.848 232.831 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+418.449 0.203 m 387.02 53.918 l S Q
+391.059 386.885 m 389.914 391.263 l 387.02 379.978 l 395.438 388.029 l
+h
+391.059 386.885 m f*
+0.69049 w
+q 0.585107 1 1 -0.585107 0 433.896301 cm
+135.434 311.816 m 138.197 309.054 l 128.528 311.817 l 138.195 314.579 l
+ h
+135.434 311.816 m S Q
+BT
+17.6 0 0 17.6 150.69448 46.484589 Tm
+/f-0-0 1 Tf
+[(Commit)]TJ
+0.862305 -1.25 Td
+(Tx A)Tj
+ET
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+27.348 174.184 96 32.574 re S Q
+BT
+17.6 0 0 17.6 34.346965 238.578938 Tm
+/f-0-0 1 Tf
+[(Esca)-3(pe A)]TJ
+ET
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+250.605 310.918 m 178.293 310.348 l 178.293 350.348 l S Q
+178.293 91.549 m 175.094 94.752 l 178.293 83.549 l 181.492 94.752 l h
+178.293 91.549 m f*
+0.8 w
+q 0.0000002 1 1 -0.0000002 0 433.896301 cm
+-342.348 178.293 m -339.144 175.094 l -350.348 178.293 l -339.144 181.492
+ l h
+-342.348 178.293 m S Q
+BT
+12 0 0 12 142.310385 332.286029 Tm
+/f-0-0 1 Tf
+(SIGA & SIGB)Tj
+ET
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+427.684 171.355 96 32.57 re S Q
+BT
+17.6 0 0 17.6 434.682052 241.407364 Tm
+/f-0-0 1 Tf
+[(Esca)-3(pe B)]TJ
+ET
+q 1 0 0 -1 0 433.896301 cm
+315.172 352.695 96 80 re S Q
+BT
+17.6 0 0 17.6 328.310715 45.514032 Tm
+/f-0-0 1 Tf
+[(Commit)]TJ
+0.861328 -1.25 Td
+(Tx B)Tj
+ET
+q 1 0 0 -1 0 433.896301 cm
+297.879 319.629 m 297.879 332.887 287.133 343.629 273.879 343.629 c 260.621
+ 343.629 249.879 332.887 249.879 319.629 c 249.879 306.375 260.621 295.629
+ 273.879 295.629 c 287.133 295.629 297.879 306.375 297.879 319.629 c h
+297.879 319.629 m S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+273.879 295.629 m 273.879 343.629 l S Q
+q 1 0 0 -1 0 433.896301 cm
+249.879 319.629 m 297.879 319.629 l S Q
+q 1 0 0 -1 0 433.896301 cm
+250.605 326.918 m 194.293 326.918 l 194.293 350.348 l S Q
+194.293 91.549 m 191.094 94.752 l 194.293 83.549 l 197.492 94.752 l h
+194.293 91.549 m f*
+0.8 w
+q 0.000000341463 1 1 -0.000000341463 0 433.896301 cm
+-342.348 194.293 m -339.144 191.094 l -350.348 194.293 l -339.144 197.492
+ l h
+-342.348 194.293 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+296.574 310.918 m 368.883 310.348 l 368.887 350.348 l S Q
+368.887 91.549 m 365.684 94.752 l 368.887 83.549 l 372.086 94.752 l h
+368.887 91.549 m f*
+0.8 w
+q -0.0000002 1 1 0.0000002 0 433.896301 cm
+-342.348 368.887 m -339.145 365.684 l -350.348 368.887 l -339.145 372.086
+ l h
+-342.348 368.887 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+296.574 326.918 m 352.883 326.918 l 352.887 350.348 l S Q
+352.887 91.549 m 349.684 94.752 l 352.887 83.549 l 356.086 94.752 l h
+352.887 91.549 m f*
+0.8 w
+q -0.000000341463 1 1 0.000000341463 0 433.896301 cm
+-342.348 352.887 m -339.145 349.683 l -350.348 352.887 l -339.145 356.086
+ l h
+-342.348 352.887 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+377.742 218.223 m 377.789 256.203 l 281.711 255.531 l 281.711 297.816 l
+ S Q
+281.711 144.08 m 278.508 147.279 l 281.711 136.08 l 284.91 147.279 l h
+281.711 144.08 m f*
+0.8 w
+q 0.000000189189 1 1 -0.000000189189 0 433.896301 cm
+-289.816 281.711 m -286.617 278.508 l -297.816 281.711 l -286.617 284.91
+ l h
+-289.816 281.711 m S Q
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+193.879 191.387 m 193.879 204.641 183.133 215.387 169.879 215.387 c 156.621
+ 215.387 145.879 204.641 145.879 191.387 c 145.879 178.133 156.621 167.387
+ 169.879 167.387 c 183.133 167.387 193.879 178.133 193.879 191.387 c h
+193.879 191.387 m S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+169.879 167.387 m 169.879 215.387 l S Q
+q 1 0 0 -1 0 433.896301 cm
+145.879 191.387 m 193.879 191.387 l S Q
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+402.199 193.73 m 402.199 206.988 391.453 217.73 378.199 217.73 c 364.945
+ 217.73 354.199 206.988 354.199 193.73 c 354.199 180.477 364.945 169.73
+378.199 169.73 c 391.453 169.73 402.199 180.477 402.199 193.73 c h
+402.199 193.73 m S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+378.199 169.73 m 378.199 217.73 l S Q
+q 1 0 0 -1 0 433.896301 cm
+354.199 193.73 m 402.199 193.73 l S Q
+BT
+12 0 0 12 154.199851 68.649481 Tm
+/f-0-0 1 Tf
+(SIG A & B)Tj
+14.845178 -0.134686 Td
+[(SIG A &)-319(B)]TJ
+ET
+q 1 0 0 -1 0 433.896301 cm
+145.879 191.629 m 125.879 191.629 l S Q
+133.879 242.267 m 137.078 245.467 l 125.879 242.267 l 137.078 239.064 l
+ h
+133.879 242.267 m f*
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+133.879 191.629 m 137.078 188.43 l 125.879 191.629 l 137.078 194.832 l
+h
+133.879 191.629 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+403.652 190.984 m 423.652 190.984 l S Q
+415.652 242.912 m 412.453 239.713 l 423.652 242.912 l 412.453 246.115 l
+ h
+415.652 242.912 m f*
+0.8 w
+q -1 0 0 1 0 433.896301 cm
+-415.652 -190.984 m -412.453 -194.184 l -423.652 -190.984 l -412.453 -187.781
+ l h
+-415.652 -190.984 m S Q
+BT
+12 0 0 12 78.878745 206.540155 Tm
+/f-0-0 1 Tf
+(SIGA)Tj
+-0.712919 5.044474 Td
+(SIGA & SIGB)Tj
+27.716749 0.235534 Td
+(SIGA & SIGB)Tj
+-4.384188 5.279695 Td
+(SIGA & SIGB)Tj
+ET
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+73.477 207.059 m 73.477 252.309 l S Q
+73.477 189.588 m 70.277 192.787 l 73.477 181.588 l 76.68 192.787 l h
+73.477 189.588 m f*
+0.8 w
+q 0 1 1 0 0 433.896301 cm
+-244.309 73.477 m -241.109 70.277 l -252.309 73.477 l -241.109 76.68 l
+h
+-244.309 73.477 m S Q
+BT
+12 0 0 12 479.918845 208.481293 Tm
+/f-0-0 1 Tf
+(SIGB)Tj
+ET
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+474.531 205.117 m 474.531 250.367 l S Q
+474.531 191.529 m 471.328 194.728 l 474.531 183.529 l 477.73 194.728 l
+h
+474.531 191.529 m f*
+0.8 w
+q 0 1 1 0 0 433.896301 cm
+-242.367 474.531 m -239.168 471.328 l -250.367 474.531 l -239.168 477.73
+ l h
+-242.367 474.531 m S Q
+Q Q
+showpage
+%%Trailer
+end restore
+%%EOF
diff --git a/doc/dual-anchor-diag2.svg b/doc/dual-anchor-diag2.svg
new file mode 100644
index 000000000..55683994b
--- /dev/null
+++ b/doc/dual-anchor-diag2.svg
@@ -0,0 +1,795 @@
+
+
+
+
diff --git a/doc/dual-anchor-diag3.eps b/doc/dual-anchor-diag3.eps
new file mode 100644
index 000000000..456429ecc
--- /dev/null
+++ b/doc/dual-anchor-diag3.eps
@@ -0,0 +1,806 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.14.2 (http://cairographics.org)
+%%CreationDate: Tue Jul 14 10:46:42 2015
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%BoundingBox: 26 -1 547 434
+%%EndComments
+%%BeginProlog
+save
+50 dict 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
+%%BeginSetup
+%%BeginResource: font DejaVuSans
+11 dict begin
+/FontType 42 def
+/FontName /DejaVuSans 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 32 /space put
+Encoding 38 /ampersand put
+Encoding 45 /hyphen put
+Encoding 65 /A put
+Encoding 66 /B put
+Encoding 67 /C put
+Encoding 69 /E put
+Encoding 71 /G put
+Encoding 73 /I put
+Encoding 77 /M put
+Encoding 79 /O put
+Encoding 80 /P put
+Encoding 82 /R put
+Encoding 83 /S put
+Encoding 84 /T put
+Encoding 86 /V put
+Encoding 95 /underscore put
+Encoding 97 /a put
+Encoding 99 /c put
+Encoding 101 /e put
+Encoding 104 /h put
+Encoding 105 /i put
+Encoding 109 /m put
+Encoding 110 /n put
+Encoding 111 /o put
+Encoding 112 /p put
+Encoding 114 /r put
+Encoding 115 /s put
+Encoding 116 /t put
+Encoding 120 /x put
+/CharStrings 31 dict dup begin
+/.notdef 0 def
+/A 1 def
+/n 2 def
+/c 3 def
+/h 4 def
+/o 5 def
+/r 6 def
+/space 7 def
+/B 8 def
+/C 9 def
+/m 10 def
+/i 11 def
+/t 12 def
+/T 13 def
+/x 14 def
+/E 15 def
+/s 16 def
+/a 17 def
+/p 18 def
+/e 19 def
+/S 20 def
+/I 21 def
+/G 22 def
+/ampersand 23 def
+/O 24 def
+/P 25 def
+/underscore 26 def
+/V 27 def
+/R 28 def
+/M 29 def
+/hyphen 30 def
+end readonly def
+/sfnts [
+<0001000000090080000300106376742000691d3900001648000001fe6670676d7134766a0000
+1848000000ab676c7966ab10bf5d0000009c000015ac68656164026638f7000018f400000036
+686865610cb806700000192c00000024686d747895560ef9000019500000007c6c6f63610001
+3e90000019cc000000806d617870048c067100001a4c00000020707265703b07f10000001a6c
+0000056800020066fe96046605a400030007001a400c04fb0006fb0108057f0204002fc4d4ec
+310010d4ecd4ec301311211125211121660400fc73031bfce5fe96070ef8f272062900020010
+0000056805d50002000a00c2404100110100040504021105050401110a030a0011020003030a
+0711050406110505040911030a08110a030a4200030795010381090509080706040302010009
+050a0b10d4c4173931002f3ce4d4ec1239304b5358071005ed0705ed071005ed0705ed071008
+ed071005ed071005ed071008ed5922b2200c01015d40420f010f020f070f080f005800760070
+008c000907010802060309041601190256015802500c67016802780176027c03720477077808
+87018802800c980299039604175d005d090121013301230321032302bcfeee0225fe7be50239
+d288fd5f88d5050efd1903aefa2b017ffe810000000100ba00000464047b0013003640190309
+00030e0106870e11b80cbc0a010208004e0d09080b461410fcec32f4ec31002f3ce4f4c4ec11
+12173930b46015cf1502015d0111231134262322061511231133153e013332160464b87c7c95
+acb9b942b375c1c602a4fd5c029e9f9ebea4fd870460ae6564ef00010071ffe303e7047b0019
+003f401b00860188040e860d880ab91104b917b8118c1a07120d004814451a10fce432ec3100
+10e4f4ec10fef4ee10f5ee30400b0f1b101b801b901ba01b05015d01152e0123220615141633
+323637150e0123220011100021321603e74e9d50b3c6c6b3509d4e4da55dfdfed6012d010655
+a20435ac2b2be3cdcde32b2baa2424013e010e0112013a230000000100ba0000046406140013
+00344019030900030e0106870e11b80c970a010208004e0d09080b461410fcec32f4ec31002f
+3cecf4c4ec1112173930b2601501015d0111231134262322061511231133113e013332160464
+b87c7c95acb9b942b375c1c602a4fd5c029e9f9ebea4fd870614fd9e6564ef0000020071ffe3
+0475047b000b0017004a401306b91200b90cb8128c1809120f51031215451810fcecf4ec3100
+10e4f4ec10ee3040233f197b007b067f077f087f097f0a7f0b7b0c7f0d7f0e7f0f7f107f117b
+12a019f01911015d012206151416333236353426273200111000232200111000027394acab95
+93acac93f00112feeef0f1feef011103dfe7c9c9e7e8c8c7e99cfec8feecfeedfec701390113
+011401380000000100ba0000034a047b001100304014060b0700110b03870eb809bc070a0608
+0008461210fcc4ec3231002fe4f4ecc4d4cc11123930b450139f1302015d012e012322061511
+231133153e0133321617034a1f492c9ca7b9b93aba85132e1c03b41211cbbefdb20460ae6663
+05050000000300c9000004ec05d5000800110020004340231900950a0995128101950aad1f11
+0b080213191f05000e1c1605191c2e09001c12042110fcec32fcecd4ec111739393931002fec
+ecf4ec10ee3930b20f2201015d01112132363534262301112132363534262325213216151406
+071e01151404232101930144a39d9da3febc012b94919194fe0b0204e7fa807c95a5fef0fbfd
+e802c9fddd878b8c850266fe3e6f727170a6c0b189a21420cb98c8da00010073ffe3052705f0
+00190036401a0da10eae0a951101a100ae04951791118c1a07190d003014101a10fcec32ec31
+0010e4f4ecf4ec10eef6ee30b40f1b1f1b02015d01152e0123200011100021323637150e0123
+2000111000213216052766e782ff00fef00110010082e7666aed84feadfe7a0186015386ed05
+62d55f5efec7fed8fed9fec75e5fd34848019f01670168019f470000000100ba0000071d047b
+0022005a4026061209180f00061d07150c871d2003b81bbc19100700110f0808065011080f50
+1c18081a462310fcec32fcfcfcec11123931002f3c3ce4f43cc4ec3211121739304013302450
+2470249024a024a024bf24df24ff2409015d013e013332161511231134262322061511231134
+262322061511231133153e01333216042945c082afbeb972758fa6b972778da6b9b93fb0797a
+ab03897c76f5e2fd5c029ea19cbea4fd87029ea29bbfa3fd870460ae67627c000000000200c1
+00000179061400030007002b400e06be04b100bc020501080400460810fc3cec3231002fe4fc
+ec30400b1009400950096009700905015d1333112311331523c1b8b8b8b80460fba00614e900
+00010037000002f2059e0013003840190e05080f03a9001101bc08870a0b0809020400081012
+0e461410fc3cc4fc3cc432393931002fecf43cc4ec3211393930b2af1501015d011121152111
+14163b01152322263511233533110177017bfe854b73bdbdd5a28787059efec28ffda0894e9a
+9fd202608f013e0000000001fffa000004e905d50007004a400e0602950081040140031c0040
+050810d4e4fce431002ff4ec3230014bb00a5458bd00080040000100080008ffc03811373859
+401300091f00100110021f071009400970099f09095d03211521112311210604effdeecbfdee
+05d5aafad5052b000001003b000004790460000b014340460511060706041103040707060411
+050401020103110202010b110001000a11090a0101000a110b0a0708070911080807420a0704
+01040800bf05020a0704010408000208060c10d44bb00a544bb00f545b4bb010545b4bb01154
+5b58b90006004038594bb0145458b90006ffc03859c4d4c411173931002f3cec321739304b53
+58071005ed071008ed071008ed071005ed071005ed071008ed071008ed071005ed5922014098
+0a04040a1a04150a260a3d04310a55045707580a660a76017a047607740a8d04820a99049f04
+9707920a900aa601a904af04a507a30aa00a1c0a03040505090a0b1a03150515091a0b290326
+0525092a0b200d3a013903370534073609390b300d4903460545094a0b400d59005601590259
+0357055606590756085609590b500d6f0d78017f0d9b019407ab01a407b00dcf0ddf0dff0d2f
+5d005d09022309012309013309010464fe6b01aad9febafebad901b3fe72d9012901290460fd
+dffdc101b8fe48024a0216fe71018f00000100c90000048b05d5000b002e4015069504029500
+81089504ad0a05010907031c00040c10fcec32d4c4c431002fececf4ec10ee30b21f0d01015d
+132115211121152111211521c903b0fd1a02c7fd3902f8fc3e05d5aafe46aafde3aa00000001
+006fffe303c7047b002700e7403c0d0c020e0b531f1e080902070a531f1f1e420a0b1e1f0415
+00860189041486158918b91104b925b8118c281e0a0b1f1b0700521b080e07081422452810fc
+c4ecd4ece4111239393939310010e4f4ec10fef5ee10f5ee121739304b535807100eed111739
+070eed1117395922b2002701015d406d1c0a1c0b1c0c2e092c0a2c0b2c0c3b093b0a3b0b3b0c
+0b200020012402280a280b2a132f142f152a16281e281f292029212427860a860b860c860d12
+000000010202060a060b030c030d030e030f03100319031a031b031c041d09272f293f295f29
+7f2980299029a029f029185d005d7101152e012322061514161f011e0115140623222627351e
+013332363534262f012e01353436333216038b4ea85a898962943fc4a5f7d85ac36c66c66182
+8c65ab40ab98e0ce66b4043fae282854544049210e2a99899cb62323be353559514b50250f24
+95829eac1e0000000002007bffe3042d047b000a002500bc4027191f0b17090e00a91706b90e
+1120861fba1cb923b8118c170c001703180d09080b1f030814452610fcecccd4ec3232113939
+31002fc4e4f4fcf4ec10c6ee10ee11391139123930406e301d301e301f3020302130223f2740
+1d401e401f402040214022501d501e501f50205021502250277027851d871e871f8720872185
+229027a027f0271e301e301f30203021401e401f40204021501e501f50205021601e601f6020
+6021701e701f70207021801e801f80208021185d015d0122061514163332363d01371123350e
+01232226353436332135342623220607353e0133321602bedfac816f99b9b8b83fbc88accbfd
+fb0102a79760b65465be5af3f00233667b6273d9b4294cfd81aa6661c1a2bdc0127f8b2e2eaa
+2727fc00000200bafe5604a4047b0010001c003e401b1ab9000e14b90508b80e8c01bd03bc1d
+11120b471704000802461d10fcec3232f4ec310010e4e4e4f4c4ec10c4ee304009601e801ea0
+1ee01e04015d2511231133153e013332001110022322260134262322061514163332360173b9
+b93ab17bcc00ffffcc7bb10238a79292a7a79292a7a8fdae060aaa6461febcfef8fef8febc61
+01ebcbe7e7cbcbe7e700000000020071ffe3047f047b0014001b007040240015010986088805
+15a90105b90c01bb18b912b80c8c1c1b1502081508004b02120f451c10fcecf4ecc411123931
+0010e4f4ece410ee10ee10f4ee1112393040293f1d701da01dd01df01d053f003f013f023f15
+3f1b052c072f082f092c0a6f006f016f026f156f1b095d71015d0115211e0133323637150e01
+232000111000333200072e0123220607047ffcb20ccdb76ac76263d06bfef4fec70129fce201
+07b802a5889ab90e025e5abec73434ae2a2c0138010a01130143feddc497b4ae9e0000010087
+ffe304a205f00027007e403c0d0c020e0b021e1f1e080902070a021f1f1e420a0b1e1f041501
+0015a11494189511049500942591118c281e0a0b1f1b0700221b190e2d071914222810dcc4ec
+fcece4111239393939310010e4f4e4ec10eef6ee10c6111739304b535807100eed1117390710
+0eed1117395922b20f2901015db61f292f294f29035d01152e012322061514161f011e011514
+0421222627351e013332363534262f012e01353424333216044873cc5fa5b377a67ae2d7fedd
+fee76aef807bec72adbc879a7be2ca0117f569da05a4c53736807663651f192bd9b6d9e0302f
+d04546887e6e7c1f182dc0abc6e42600000100c90000019305d50003002eb700af02011c0004
+0410fc4bb0105458b9000000403859ec31002fec3001400d30054005500560058f059f05065d
+13331123c9caca05d5fa2b0000010073ffe3058b05f0001d0039402000051b0195031b950812
+a111ae15950e91088c1e02001c1134043318190b101e10fcecfce4fcc4310010e4f4ecf4ec10
+fed4ee11393930251121352111060423200011100021320417152e0123200011100021323604
+c3feb6021275fee6a0fea2fe75018b015e9201076f70fc8bfeeefeed011301126ba8d50191a6
+fd7f53550199016d016e01994846d75f60fecefed1fed2fece25000000020081ffe305fe05f0
+0009003001cd40960d010e0c861112110b860a0b121211098600091516150701060886161615
+02010301861d1e1d008609001e1e1d201f02211e110a130a17161503181411130a0708020609
+1113130a0201020300110a130a171602181511130a141113130a42120b090306000a1e032815
+0e0628270695182b9527942491188c0e130a2e0b0e09002e1215270e1e032e1227210e110f13
+2103121b103110fcecc4d4d4ec10c6ee1139111239391139391139113931002fc6e4f6e6ee10
+ee10c6111239111739111739304b5358071005ed0705ed111739071005ed111739071005ed11
+17390705ed111739071005ed111739071008ed07100eed11173907100eed111739071008ed07
+1008ed07100eed1117395922b20f3201015d40b2070b052209291c001c011f02170b2a002a01
+26123a003412440b5e0059015a0a55125a1a5a1f5930671e7b009b009a0199029708950b9315
+95169522992d1f090b090c08110c270c2818021b09190b190c19111c141c15161d1f32270027
+01290923122a132a1428152f323b09341239133f324a094c144b1546194f3256015a09590c55
+1259135c1f5f326a0c691160327501790c7a1193009301970295059c079c089f089a099b0b9a
+0c9032a032b032395d005d010e011514163332363709013e0137330602070123270e01232200
+353436372e0135343633321617152e0123220615141601f25b55d4a05fa649fe7b01fc3b4206
+ba0c685d0117fc8f68e483f1fece86863032deb853a555579e4469833b032351a15892c23f40
+028ffdf859cb7284fefe7efee39359570113d780e1633f7d3ca2c52424b62f316f5833670002
+0073ffe305d905f0000b00170023401306951200950c91128c1809190f33031915101810fcec
+fcec310010e4f4ec10ee300122001110003332001110002720001110002120001110000327dc
+fefd0103dcdc0101feffdc013a0178fe88fec6fec5fe870179054cfeb8fee5fee6feb8014801
+1a011b0148a4fe5bfe9efe9ffe5b01a40162016201a50000000200c90000048d05d500080013
+003a40180195100095098112100a0802040005190d3f11001c09041410fcec32fcec11173931
+002ff4ecd4ec30400b0f151f153f155f15af1505015d01113332363534262325213204151404
+2b0111230193fe8d9a9a8dfe3801c8fb0101fefffbfeca052ffdcf92878692a6e3dbdde2fda8
+0001ffecfe1d0414feac0003000fb500a90100020410c4c43100d4ec30011521350414fbd8fe
+ac8f8f000000000100100000056805d5000600b7402704110506050311020306060503110403
+000100021101010042030401af0006040302000505010710d4c4173931002fec3239304b5358
+071005ed071008ed071008ed071005ed5922b2500801015d406200032a03470447055a037d03
+8303070600070208040906150114021a041a052a002601260229042905250620083800330133
+023c043c053706480045014502490449054706590056066602690469057a0076017602790479
+057506800898009706295d005d21013309013301024afdc6d301d901dad2fdc705d5fb1704e9
+fa2b000200c90000055405d50013001c00b14035090807030a06110304030511040403420604
+0015030415950914950d810b040506031109001c160e050a191904113f140a1c0c041d10fcec
+32fcc4ec1117391139393931002f3cf4ecd4ec123912391239304b5358071005ed071005ed11
+17395922b2401e01015d40427a13010500050105020603070415001501140216031704250025
+01250226032706260726082609201e3601360246014602680575047505771388068807980698
+071f5d005d011e01171323032e012b01112311212016151406011133323635342623038d417b
+3ecdd9bf4a8b78dcca01c80100fc83fd89fe9295959202bc16907efe68017f9662fd8905d5d6
+d88dba024ffdee8783838500000100c90000061f05d5000c00bf403403110708070211010208
+080702110302090a0901110a0a09420a070203080300af080b050908030201050a061c043e0a
+1c00040d10fcecfcec11173931002f3cc4ec32111739304b5358071005ed071008ed071008ed
+071005ed5922b2700e01015d405603070f080f09020a15021407130a260226072007260a200a
+3407350a69027c027b07790a80028207820a90021604010b0313011b0323012c032708280934
+013c035608590965086a097608790981018d0395019b03145d005d1321090121112311012301
+1123c9012d017d017f012dc5fe7fcbfe7fc405d5fc0803f8fa2b051ffc000400fae100000001
+006401df027f028300030011b6009c020401000410dccc310010d4ec301321152164021bfde5
+0283a400013500b800cb00cb00c100aa009c01a600b800660000007100cb00a002b200850075
+00b800c301cb0189022d00cb00a600f000d300aa008700cb03aa0400014a003300cb000000d9
+050200f4015400b4009c01390114013907060400044e04b4045204b804e704cd0037047304cd
+04600473013303a2055605a60556053903c5021200c9001f00b801df007300ba03e9033303bc
+0444040e00df03cd03aa00e503aa0404000000cb008f00a4007b00b80014016f007f027b0252
+008f00c705cd009a009a006f00cb00cd019e01d300f000ba018300d5009803040248009e01d5
+00c100cb00f600830354027f00000333026600d300c700a400cd008f009a0073040005d5010a
+00fe022b00a400b4009c00000062009c0000001d032d05d505d505d505f0007f007b005400a4
+06b80614072301d300b800cb00a601c301ec069300a000d3035c037103db0185042304a80448
+008f0139011401390360008f05d5019a0614072306660179046004600460047b009c00000277
+046001aa00e904600762007b00c5007f027b000000b4025205cd006600bc00660077061000cd
+013b01850389008f007b0000001d00cd074a042f009c009c0000077d006f0000006f0335006a
+006f007b00ae00b2002d0396008f027b00f600830354063705f6008f009c04e10266008f018d
+02f600cd03440029006604ee00730000140000960000b707060504030201002c2010b0022549
+64b040515820c859212d2cb002254964b040515820c859212d2c20100720b00050b00d7920b8
+ffff5058041b0559b0051cb0032508b0042523e120b00050b00d7920b8ffff5058041b0559b0
+051cb0032508e12d2c4b505820b0fd454459212d2cb002254560442d2c4b5358b00225b00225
+45445921212d2c45442d2cb00225b0022549b00525b005254960b0206368208a108a233a8a10
+653a2d00000100000002570afb6146a45f0f3cf5001f080000000000cef5cb7600000000cef5
+cb76f7d6fcae0d72095500000008000000010000000000010000076dfe1d00000de2f7d6fa51
+0d7200010000000000000000000000000000001f04cd006605790010051200ba046600710512
+00ba04e50071034a00ba028b0000057d00c90596007307cb00ba023900c10323003704e3fffa
+04bc003b050e00c9042b006f04e7007b051400ba04ec007105140087025c00c906330073063d
+0081064c007304d300c90400ffec05790010058f00c906e700c902e300640000000000000044
+00000140000001b800000250000002c80000036c000003dc000003dc0000048c000005240000
+05e800000638000006b400000724000008a80000090800000a6800000b9400000c3400000d08
+00000e0000000e4800000ef000001158000011e4000012640000129000001370000014840000
+1580000015ac00010000001f0354002b0068000c000200100099000800000415021600080004
+b8028040fffbfe03fa1403f92503f83203f79603f60e03f5fe03f4fe03f32503f20e03f19603
+f02503ef8a4105effe03ee9603ed9603ecfa03ebfa03eafe03e93a03e84203e7fe03e63203e5
+e45305e59603e48a4105e45303e3e22f05e3fa03e22f03e1fe03e0fe03df3203de1403dd9603
+dcfe03db1203da7d03d9bb03d8fe03d68a4105d67d03d5d44705d57d03d44703d3d21b05d3fe
+03d21b03d1fe03d0fe03cffe03cefe03cd9603cccb1e05ccfe03cb1e03ca3203c9fe03c68511
+05c61c03c51603c4fe03c3fe03c2fe03c1fe03c0fe03bffe03befe03bdfe03bcfe03bbfe03ba
+1103b9862505b9fe03b8b7bb05b8fe03b7b65d05b7bb03b78004b6b52505b65d40ff03b64004
+b52503b4fe03b39603b2fe03b1fe03b0fe03affe03ae6403ad0e03acab2505ac6403abaa1205
+ab2503aa1203a98a4105a9fa03a8fe03a7fe03a6fe03a51203a4fe03a3a20e05a33203a20e03
+a16403a08a4105a096039ffe039e9d0c059efe039d0c039c9b19059c64039b9a10059b19039a
+1003990a0398fe0397960d0597fe03960d03958a410595960394930e05942803930e0392fa03
+9190bb0591fe03908f5d0590bb039080048f8e25058f5d038f40048e25038dfe038c8b2e058c
+fe038b2e038a8625058a410389880b05891403880b0387862505876403868511058625038511
+0384fe038382110583fe0382110381fe0380fe037ffe0340ff7e7d7d057efe037d7d037c6403
+7b5415057b25037afe0379fe03780e03770c03760a0375fe0374fa0373fa0372fa0371fa0370
+fe036ffe036efe036c21036bfe036a1142056a530369fe03687d036711420566fe0365fe0364
+fe0363fe0362fe03613a0360fa035e0c035dfe035bfe035afe0359580a0559fa03580a035716
+190557320356fe035554150555420354150353011005531803521403514a130551fe03500b03
+4ffe034e4d10054efe034d10034cfe034b4a13054bfe034a4910054a1303491d0d0549100348
+0d0347fe0346960345960344fe0343022d0543fa0342bb03414b0340fe033ffe033e3d12053e
+14033d3c0f053d12033c3b0d053c40ff0f033b0d033afe0339fe033837140538fa0337361005
+37140336350b05361003350b03341e03330d0332310b0532fe03310b03302f0b05300d032f0b
+032e2d09052e10032d09032c32032b2a25052b64032a2912052a250329120328272505284103
+27250326250b05260f03250b0324fe0323fe03220f03210110052112032064031ffa031e1d0d
+051e64031d0d031c1142051cfe031bfa031a42031911420519fe031864031716190517fe0316
+01100516190315fe0314fe0313fe031211420512fe0311022d05114203107d030f64030efe03
+0d0c16050dfe030c0110050c16030bfe030a100309fe0308022d0508fe030714030664030401
+100504fe03401503022d0503fe0302011005022d0301100300fe0301b80164858d012b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b002b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b1d00>
+] def
+/f-0-0 currentdict end definefont pop
+%%EndResource
+%%BeginResource: font DejaVuSans-Bold
+11 dict begin
+/FontType 42 def
+/FontName /DejaVuSans-Bold 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 79 /O put
+Encoding 82 /R put
+/CharStrings 3 dict dup begin
+/.notdef 0 def
+/O 1 def
+/R 2 def
+end readonly def
+/sfnts [
+<000100000009008000030010637674203eb9310800000268000002546670676d5b026bf00000
+04bc000000ac676c7966581f41560000009c000001cc68656164045e38fb0000056800000036
+686865610eaf0774000005a000000024686d747811c30188000005c40000000c6c6f63610000
+02f8000005d0000000106d6178700648062d000005e000000020707265707c61a2e700000600
+000007a700020066fe96046605a400030007001fbc00040126000000060126b6010805890204
+002fc4d4ec310010d4ecd4ec301311211125211121660400fc73031bfce5fe96070ef8f27206
+2900000000020066ffe3066605f0000b00170032401306ae1200ae0c9c129818092d0f37032d
+152b1810fcecfcec310010e4f4ec10ee30400b0019171310192f193f1905015d012202151412
+3332123534020320001110002120001110000366b0c2c2b0b1c2c2b101680198fe68fe98fe99
+fe67019904d9fefcecebfefc0104ebec01040117fe64fe95fe96fe64019c016a016b019c0000
+000200bc0000060005d50008001c008740321b1a021c191d161716181d1717162519160a1300
+ae0906ae0c8d170a16131803101c190600040d07031617100907160b031d10fcec32d4c4ec11
+39173911173931002f3cf4ecd4ec39123939304b5358071005ed071005ed1117395922b2181c
+01015d401f1b181b191a1a1b1b1a1c361536164515451656155616501e65156516601e0f5d01
+32363534262b0119022111212004151406071e01171321032e012302df79696979a2fe7f024c
+012701138f904f7d40d1fe66b637715e033f5a676658fe81fef6fdcb05d5c6d694be2d127f81
+fe5801737052000001660133016600bc00e90000013d00a200fa031f00020002006601660002
+000200ac015400ec00bc006201660181048501540166016d04a400020166007f04cd00000002
+0133006200710000002504a401bc00ba00e500660181018d0548055a0166016d000000000002
+000200f605c301f0053902390058046d043d04b2048104b2016601750466048100b004660439
+02d1049c047b04cf047b005801330166014c0166014c000200ac009a014a0123009a029a0144
+0119014402cd00c100000166013f019a013b05cb05cb00d500d5015000ac00ac0077020a01c7
+01f2012f015801b2012300f600f6011f012f0135023501ee01e70133009800d10358050a009a
+008f0112009800bc00cd00e500e500f2007304000166008f05d5022b05d500c300e100d700e5
+0000006a01020000001d032d05d505d505f000a8006a00ec00e1010205d506140721046602f8
+00ec018302a602f80123010201020112011f031f005e03cd046004c7048900ec01bc00ba0102
+0333031f03420333035c0112011f05d5019a009a00e106660179046004600460047b000000ec
+02c302b802cd00be00dd00d50000006a025c027b029a00dd01ae01ba01120000008501ae0460
+0762041b009a069a045800ee009a029a00d102cd019a015005cb05cb008b008b063100f60406
+00f0034c016004a800c10000002505c101000121074a06120096014a078300a800000337007b
+0014000000c9010005c105c105c105c101000108061d00960427039e00ec0102027d01330098
+00d10358017900cd02390362009c009c009c009301b8009300b80073000014000326b7070605
+04030201002c2010b002254964b040515820c859212d2cb002254964b040515820c859212d2c
+20100720b00050b00d7920b8ffff5058041b0559b0051cb0032508b0042523e120b00050b00d
+7920b8ffff5058041b0559b0051cb0032508e12d2c4b505820b80128454459212d2cb0022545
+60442d2c4b5358b00225b0022545445921212d2c45442d2cb00225b0022549b00525b0052549
+60b0206368208a108a233a8a10653a2d000100000002570aca280dd25f0f3cf5001f08000000
+0000cef5cb7000000000cef5cb70f772fcae0fcd096500010008000000010000000000010000
+076dfe1d00001021f772f9320fcd00010000000000000000000000000000000304cd006606cd
+0066062900bc000000000000004c000000e0000001cc000100000003034e002b0078000c0002
+001000400008000005ed02210008000441840280012600fe000301250011000301240121003a
+0005012400fa000301230016000301220121003a0005012200fe00030121003a0003012000fa
+0003011f00bb0003011e00640003011d00fe0003011c00190003011b001e0003011a00fe0003
+011900fe0003011800fe0003011700fe0003011600fe000301150114000e0005011500fe0003
+0114000e0003011300fe0003011200fe0003010f010e007d0005010f00fe0003010e007d0003
+010d010c008c0005010d00fe0003010d00c00004010c010b00590005010c008c0003010c0080
+0004010b010a00260005010b00590003010b00400004010a00260003010900fe0003010800fe
+00030107000c00030107008000040106b2972e054113010600fa0003010500fa0003010400fe
+0003010300190003010200fa0003010100fa0003010040ff7d03ff3e03fefe03fcfb2c05fcfe
+03fb2c03fafe03f9f84705f97d03f84703f7fa03f6fe03f5fe03f4fe03f3bb03f2fe03f1fe03
+f0fe03ef1e03eefe03edec0a05edfe03ec0a03ec4004ebea0a05eb3203ea0a03e9fa03e89116
+05e8fe03e7fa03e6fa03e5911605e5fe03e4fe03e3fe03e2fe03e1fe03e0fe03dffe03defa03
+dddc1805dd6403dc1803dba01e05db6403dad92505dafa03d92503d8d12505d8fa03d7d61405
+d71603d6d51005d61403d51003d4d30b05d42003d30b03d2d12505d2fa03d1911605d12503d0
+940c05d02303cfce1405cf2603cecd1205ce1403cd1203cc911605cc1d03cb1403cac9bb05ca
+fe03c9c85d05c9bb03c98004c840ffc72505c85d03c84004c72503c6fe03c56403c4901005c4
+fe03c31c03c2fe03c1fe03c0bf3a05c0fa03bfad1b05bf3a03bebd1a05be3203bdbc1105bd1a
+03bcbb0f05bc1103bbba0c05bb0f03ba0c03b9911605b9fe03b8fe03b71503b61203b5fe03b4
+fe03b3fe03b21703b11903b01603afad1b05affa03aead1b05aefa03ad911605ad1b03ac9116
+05ac7d03abfe03aa2603a9fe03a8fe03a7fe03a6fe03a50a03a4fe03a3a20e05a3fe03a20e03
+a24004a1a01e05a1fa03a0911605a01e039f9116059ffa039e940c059e1c039dfe039c9bbb05
+9cfe039b9a5d059bbb039b80049a8f25059a5d039a400499fe0398972e0598fe03972e039691
+1605961e40ff0395940c05952003940c0393911605934b039291160592fe0391901005911603
+9010038f25038efe038dfe038cfe038bfe038afe0389fe038887250588fe0387250386fe0385
+fe0384320383960382fe0381fe038019037f0a037efe037dfe037cfe037bfa037afa0379fe03
+7776a60577fe0376a60375741b0575fa03741b0373fa03727d0371fe03706f2c056f2c036efa
+036dfa036cfa036bfe036afe0369fe0368630c0568320367fe0366320365640a0565fe03640a
+0364400463620a05630c03620a0361601505619603600111056015035f0a035efe035dfe035c
+0111055cfe035b5a1b055bfe035a0111055a1b0359fe0358fa0357fe035601110540ff56fe03
+55fe03541e035314035251190552fa0351011105511903504f190550fa034f4e11054f19034e
+11034d1e034c4b14054c15034b4a11054b14034a490e054a1103490e0348fa03474614054715
+0346140345fa0344430e05440f03430e034241250542fa0341011105412503403f0f0540fe03
+3f3e0e053f0f033e0e033d3c0d053d16033c0d033b64033afe0339140338fe0337130336351a
+0536250335341405351a0335c004340a0d0534140334800433320c05331403334004320c0331
+30a60531fe033001110530a6032f0c032e13032d2c3a052dfa032c1525052c3a032b64032a64
+0329fe0328150327171105271e03262003251e0324231105402b241e0323110322000d0522fa
+03210f032140042014031f0a031e1e031d1c19051d25031c0f13051c19031cb801004091041b
+0d031a194b051a7d0319011105194b0318fe031711031615250516fa03150111051525031464
+0313110312fe031101110511fe031064030f0e10050f13030fc0040e10030e80040d0111050d
+fa030c32030b0a0d050b16030b80040a0d030a400409fe0308fe0307fe0306050a0506fe0305
+0a0305400404fa030364030201110502fe0301000d05011103000d0301b80164858d012b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b002b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b1d0000>
+] def
+/f-1-0 currentdict end definefont pop
+%%EndResource
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 26 -1 547 434
+%%EndPageSetup
+q 26 -1 521 435 rectclip q
+0 g
+BT
+17.6 0 0 17.6 130.590635 355.418671 Tm
+/f-0-0 1 Tf
+[(Anchor)-3( A)]TJ
+11.78352 -0.0324679 Td
+[(Anchor)-3( B)]TJ
+ET
+2.4 w
+1 J
+1 j
+[] 0.0 d
+4 M q 1 0 0 -1 0 433.896301 cm
+122.449 55.629 96 32.574 re S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+170.449 87.059 m 170.449 167.059 l S Q
+170.449 274.838 m 167.25 278.037 l 170.449 266.838 l 173.648 278.037 l
+h
+170.449 274.838 m f*
+0.8 w
+q 0 1 1 0 0 433.896301 cm
+-159.059 170.449 m -155.859 167.25 l -167.059 170.449 l -155.859 173.648
+ l h
+-159.059 170.449 m S Q
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+329.305 55.629 96 33.715 re S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+377.305 88.203 m 377.305 168.203 l S Q
+377.305 273.693 m 374.105 276.892 l 377.305 265.693 l 380.504 276.892 l
+ h
+377.305 273.693 m f*
+0.8 w
+q 0 1 1 0 0 433.896301 cm
+-160.203 377.305 m -157.004 374.105 l -168.203 377.305 l -157.004 380.504
+ l h
+-160.203 377.305 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+170.164 216.844 m 170.449 256.203 l 265.957 256.105 l 265.387 297.246 l
+ S Q
+265.496 144.65 m 262.344 147.892 l 265.387 136.65 l 268.742 147.803 l h
+265.496 144.65 m f*
+0.799923 w
+q 0.0138888 1 1 -0.0138888 0 433.896301 cm
+-285.504 269.461 m -282.306 266.265 l -293.504 269.463 l -282.307 272.663
+ l h
+-285.504 269.461 m S Q
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+137.555 351.727 96 80 re S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+89.879 15.629 m 138.449 52.773 l S Q
+132.094 385.982 m 127.609 385.385 l 138.449 381.123 l 131.496 390.467 l
+ h
+132.094 385.982 m f*
+0.635486 w
+q -1 0.764706 0.764706 1 0 433.896301 cm
+-106.472 33.506 m -103.931 30.965 l -112.827 33.506 l -103.931 36.047 l
+ h
+-106.472 33.506 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+201.879 8.773 m 194.449 53.918 l S Q
+195.746 387.873 m 193.109 391.553 l 194.449 379.978 l 199.426 390.513 l
+ h
+195.746 387.873 m f*
+0.789384 w
+q 0.164557 1 1 -0.164557 0 433.896301 cm
+-13.448 197.959 m -10.288 194.802 l -21.342 197.961 l -10.287 201.119 l
+ h
+-13.448 197.959 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+297.879 15.629 m 346.449 52.773 l S Q
+340.094 385.982 m 335.609 385.385 l 346.449 381.123 l 339.496 390.467 l
+ h
+340.094 385.982 m f*
+0.635486 w
+q -1 0.764706 0.764706 1 0 433.896301 cm
+-237.721 133.872 m -235.179 131.331 l -244.076 133.873 l -235.18 136.414
+ l h
+-237.721 133.872 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+457.305 16.203 m 409.305 54.488 l S Q
+415.559 384.396 m 416.066 388.892 l 409.305 379.408 l 420.059 383.892 l
+ h
+415.559 384.396 m f*
+0.625421 w
+q 1 0.797619 0.797619 -1 0 433.896301 cm
+229.848 232.831 m 232.35 230.331 l 223.594 232.831 l 232.353 235.333 l
+h
+229.848 232.831 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+418.449 0.203 m 387.02 53.918 l S Q
+391.059 386.885 m 389.914 391.263 l 387.02 379.978 l 395.438 388.029 l
+h
+391.059 386.885 m f*
+0.69049 w
+q 0.585107 1 1 -0.585107 0 433.896301 cm
+135.434 311.816 m 138.197 309.054 l 128.528 311.817 l 138.195 314.579 l
+ h
+135.434 311.816 m S Q
+BT
+17.6 0 0 17.6 150.69448 46.484589 Tm
+/f-0-0 1 Tf
+[(Commit)]TJ
+0.862305 -1.25 Td
+(Tx A)Tj
+ET
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+27.348 174.184 96 32.574 re S Q
+BT
+17.6 0 0 17.6 34.346965 238.578938 Tm
+/f-0-0 1 Tf
+[(Esca)-3(pe A)]TJ
+ET
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+250.605 310.918 m 178.293 310.348 l 178.293 350.348 l S Q
+178.293 91.549 m 175.094 94.752 l 178.293 83.549 l 181.492 94.752 l h
+178.293 91.549 m f*
+0.8 w
+q 0.0000002 1 1 -0.0000002 0 433.896301 cm
+-342.348 178.293 m -339.144 175.094 l -350.348 178.293 l -339.144 181.492
+ l h
+-342.348 178.293 m S Q
+BT
+12 0 0 12 142.310385 332.286029 Tm
+/f-0-0 1 Tf
+(SIGA & SIGB)Tj
+ET
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+427.684 171.355 96 32.57 re S Q
+BT
+17.6 0 0 17.6 434.682052 241.407364 Tm
+/f-0-0 1 Tf
+[(Esca)-3(pe B)]TJ
+ET
+q 1 0 0 -1 0 433.896301 cm
+315.172 352.695 96 80 re S Q
+BT
+17.6 0 0 17.6 328.310715 45.514032 Tm
+/f-0-0 1 Tf
+[(Commit)]TJ
+0.861328 -1.25 Td
+(Tx B)Tj
+ET
+q 1 0 0 -1 0 433.896301 cm
+297.879 319.629 m 297.879 332.887 287.133 343.629 273.879 343.629 c 260.621
+ 343.629 249.879 332.887 249.879 319.629 c 249.879 306.375 260.621 295.629
+ 273.879 295.629 c 287.133 295.629 297.879 306.375 297.879 319.629 c h
+297.879 319.629 m S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+273.879 295.629 m 273.879 343.629 l S Q
+q 1 0 0 -1 0 433.896301 cm
+249.879 319.629 m 297.879 319.629 l S Q
+q 1 0 0 -1 0 433.896301 cm
+250.605 326.918 m 194.293 326.918 l 194.293 350.348 l S Q
+194.293 91.549 m 191.094 94.752 l 194.293 83.549 l 197.492 94.752 l h
+194.293 91.549 m f*
+0.8 w
+q 0.000000341463 1 1 -0.000000341463 0 433.896301 cm
+-342.348 194.293 m -339.144 191.094 l -350.348 194.293 l -339.144 197.492
+ l h
+-342.348 194.293 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+296.574 310.918 m 368.883 310.348 l 368.887 350.348 l S Q
+368.887 91.549 m 365.684 94.752 l 368.887 83.549 l 372.086 94.752 l h
+368.887 91.549 m f*
+0.8 w
+q -0.0000002 1 1 0.0000002 0 433.896301 cm
+-342.348 368.887 m -339.145 365.684 l -350.348 368.887 l -339.145 372.086
+ l h
+-342.348 368.887 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+296.574 326.918 m 352.883 326.918 l 352.887 350.348 l S Q
+352.887 91.549 m 349.684 94.752 l 352.887 83.549 l 356.086 94.752 l h
+352.887 91.549 m f*
+0.8 w
+q -0.000000341463 1 1 0.000000341463 0 433.896301 cm
+-342.348 352.887 m -339.145 349.683 l -350.348 352.887 l -339.145 356.086
+ l h
+-342.348 352.887 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+377.742 218.223 m 377.789 256.203 l 281.711 255.531 l 281.711 297.816 l
+ S Q
+281.711 144.08 m 278.508 147.279 l 281.711 136.08 l 284.91 147.279 l h
+281.711 144.08 m f*
+0.8 w
+q 0.000000189189 1 1 -0.000000189189 0 433.896301 cm
+-289.816 281.711 m -286.617 278.508 l -297.816 281.711 l -286.617 284.91
+ l h
+-289.816 281.711 m S Q
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+193.879 191.387 m 193.879 204.641 183.133 215.387 169.879 215.387 c 156.621
+ 215.387 145.879 204.641 145.879 191.387 c 145.879 178.133 156.621 167.387
+ 169.879 167.387 c 183.133 167.387 193.879 178.133 193.879 191.387 c h
+193.879 191.387 m S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+169.879 167.387 m 169.879 215.387 l S Q
+q 1 0 0 -1 0 433.896301 cm
+145.879 191.387 m 193.879 191.387 l S Q
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+402.199 193.73 m 402.199 206.988 391.453 217.73 378.199 217.73 c 364.945
+ 217.73 354.199 206.988 354.199 193.73 c 354.199 180.477 364.945 169.73
+378.199 169.73 c 391.453 169.73 402.199 180.477 402.199 193.73 c h
+402.199 193.73 m S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+378.199 169.73 m 378.199 217.73 l S Q
+q 1 0 0 -1 0 433.896301 cm
+354.199 193.73 m 402.199 193.73 l S Q
+BT
+12 0 0 12 154.199851 68.649481 Tm
+/f-0-0 1 Tf
+(SIG A & B)Tj
+14.845178 -0.134686 Td
+[(SIG A &)-319(B)]TJ
+ET
+q 1 0 0 -1 0 433.896301 cm
+145.879 191.629 m 125.879 191.629 l S Q
+133.879 242.267 m 137.078 245.467 l 125.879 242.267 l 137.078 239.064 l
+ h
+133.879 242.267 m f*
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+133.879 191.629 m 137.078 188.43 l 125.879 191.629 l 137.078 194.832 l
+h
+133.879 191.629 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+403.652 190.984 m 423.652 190.984 l S Q
+415.652 242.912 m 412.453 239.713 l 423.652 242.912 l 412.453 246.115 l
+ h
+415.652 242.912 m f*
+0.8 w
+q -1 0 0 1 0 433.896301 cm
+-415.652 -190.984 m -412.453 -194.184 l -423.652 -190.984 l -412.453 -187.781
+ l h
+-415.652 -190.984 m S Q
+BT
+12 0 0 12 46.933432 206.540155 Tm
+/f-0-0 1 Tf
+[(OP_CSV & SIGA)]TJ
+/f-1-0 1 Tf
+3.046875 -1.25 Td
+(OR)Tj
+/f-0-0 1 Tf
+-3.569336 -1.25 Td
+[(RIMA)17(GE-)20(A & SIGB)]TJ
+2.471652 7.544474 Td
+(SIGA & SIGB)Tj
+27.716749 0.235534 Td
+(SIGA & SIGB)Tj
+-4.384188 5.279695 Td
+(SIGA & SIGB)Tj
+ET
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+73.477 207.059 m 73.477 252.309 l S Q
+73.477 189.588 m 70.277 192.787 l 73.477 181.588 l 76.68 192.787 l h
+73.477 189.588 m f*
+0.8 w
+q 0 1 1 0 0 433.896301 cm
+-244.309 73.477 m -241.109 70.277 l -252.309 73.477 l -241.109 76.68 l
+h
+-244.309 73.477 m S Q
+BT
+12 0 0 12 447.973532 208.481293 Tm
+/f-0-0 1 Tf
+[(OP_CSV & SIGB)]TJ
+/f-1-0 1 Tf
+3.047852 -1.25 Td
+(OR)Tj
+/f-0-0 1 Tf
+-3.5625 -1.25 Td
+[(RIMA)17(GE-)33(B & SIGA)]TJ
+ET
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+474.531 205.117 m 474.531 250.367 l S Q
+474.531 191.529 m 471.328 194.728 l 474.531 183.529 l 477.73 194.728 l
+h
+474.531 191.529 m f*
+0.8 w
+q 0 1 1 0 0 433.896301 cm
+-242.367 474.531 m -239.168 471.328 l -250.367 474.531 l -239.168 477.73
+ l h
+-242.367 474.531 m S Q
+Q Q
+showpage
+%%Trailer
+end restore
+%%EOF
diff --git a/doc/dual-anchor-diag3.svg b/doc/dual-anchor-diag3.svg
new file mode 100644
index 000000000..169644de2
--- /dev/null
+++ b/doc/dual-anchor-diag3.svg
@@ -0,0 +1,813 @@
+
+
+
+
diff --git a/doc/dual-anchor-diag4.eps b/doc/dual-anchor-diag4.eps
new file mode 100644
index 000000000..7162fdb4a
--- /dev/null
+++ b/doc/dual-anchor-diag4.eps
@@ -0,0 +1,818 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.14.2 (http://cairographics.org)
+%%CreationDate: Tue Jul 14 15:49:50 2015
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%BoundingBox: 12 -1 552 434
+%%EndComments
+%%BeginProlog
+save
+50 dict 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
+%%BeginSetup
+%%BeginResource: font DejaVuSans
+11 dict begin
+/FontType 42 def
+/FontName /DejaVuSans 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 32 /space put
+Encoding 38 /ampersand put
+Encoding 45 /hyphen put
+Encoding 65 /A put
+Encoding 66 /B put
+Encoding 67 /C put
+Encoding 69 /E put
+Encoding 71 /G put
+Encoding 73 /I put
+Encoding 77 /M put
+Encoding 79 /O put
+Encoding 80 /P put
+Encoding 82 /R put
+Encoding 83 /S put
+Encoding 84 /T put
+Encoding 86 /V put
+Encoding 95 /underscore put
+Encoding 97 /a put
+Encoding 99 /c put
+Encoding 101 /e put
+Encoding 104 /h put
+Encoding 105 /i put
+Encoding 109 /m put
+Encoding 110 /n put
+Encoding 111 /o put
+Encoding 112 /p put
+Encoding 114 /r put
+Encoding 115 /s put
+Encoding 116 /t put
+Encoding 120 /x put
+/CharStrings 31 dict dup begin
+/.notdef 0 def
+/A 1 def
+/n 2 def
+/c 3 def
+/h 4 def
+/o 5 def
+/r 6 def
+/space 7 def
+/B 8 def
+/C 9 def
+/m 10 def
+/i 11 def
+/t 12 def
+/T 13 def
+/x 14 def
+/E 15 def
+/s 16 def
+/a 17 def
+/p 18 def
+/e 19 def
+/S 20 def
+/I 21 def
+/G 22 def
+/ampersand 23 def
+/R 24 def
+/hyphen 25 def
+/O 26 def
+/P 27 def
+/underscore 28 def
+/V 29 def
+/M 30 def
+end readonly def
+/sfnts [
+<0001000000090080000300106376742000691d3900001648000001fe6670676d7134766a0000
+1848000000ab676c7966ab10bf5d0000009c000015ac68656164026638f7000018f400000036
+686865610cb806700000192c00000024686d747895560ef9000019500000007c6c6f63610001
+3e90000019cc000000806d617870048c067100001a4c00000020707265703b07f10000001a6c
+0000056800020066fe96046605a400030007001a400c04fb0006fb0108057f0204002fc4d4ec
+310010d4ecd4ec301311211125211121660400fc73031bfce5fe96070ef8f272062900020010
+0000056805d50002000a00c2404100110100040504021105050401110a030a0011020003030a
+0711050406110505040911030a08110a030a4200030795010381090509080706040302010009
+050a0b10d4c4173931002f3ce4d4ec1239304b5358071005ed0705ed071005ed0705ed071008
+ed071005ed071005ed071008ed5922b2200c01015d40420f010f020f070f080f005800760070
+008c000907010802060309041601190256015802500c67016802780176027c03720477077808
+87018802800c980299039604175d005d090121013301230321032302bcfeee0225fe7be50239
+d288fd5f88d5050efd1903aefa2b017ffe810000000100ba00000464047b0013003640190309
+00030e0106870e11b80cbc0a010208004e0d09080b461410fcec32f4ec31002f3ce4f4c4ec11
+12173930b46015cf1502015d0111231134262322061511231133153e013332160464b87c7c95
+acb9b942b375c1c602a4fd5c029e9f9ebea4fd870460ae6564ef00010071ffe303e7047b0019
+003f401b00860188040e860d880ab91104b917b8118c1a07120d004814451a10fce432ec3100
+10e4f4ec10fef4ee10f5ee30400b0f1b101b801b901ba01b05015d01152e0123220615141633
+323637150e0123220011100021321603e74e9d50b3c6c6b3509d4e4da55dfdfed6012d010655
+a20435ac2b2be3cdcde32b2baa2424013e010e0112013a230000000100ba0000046406140013
+00344019030900030e0106870e11b80c970a010208004e0d09080b461410fcec32f4ec31002f
+3cecf4c4ec1112173930b2601501015d0111231134262322061511231133113e013332160464
+b87c7c95acb9b942b375c1c602a4fd5c029e9f9ebea4fd870614fd9e6564ef0000020071ffe3
+0475047b000b0017004a401306b91200b90cb8128c1809120f51031215451810fcecf4ec3100
+10e4f4ec10ee3040233f197b007b067f077f087f097f0a7f0b7b0c7f0d7f0e7f0f7f107f117b
+12a019f01911015d012206151416333236353426273200111000232200111000027394acab95
+93acac93f00112feeef0f1feef011103dfe7c9c9e7e8c8c7e99cfec8feecfeedfec701390113
+011401380000000100ba0000034a047b001100304014060b0700110b03870eb809bc070a0608
+0008461210fcc4ec3231002fe4f4ecc4d4cc11123930b450139f1302015d012e012322061511
+231133153e0133321617034a1f492c9ca7b9b93aba85132e1c03b41211cbbefdb20460ae6663
+05050000000300c9000004ec05d5000800110020004340231900950a0995128101950aad1f11
+0b080213191f05000e1c1605191c2e09001c12042110fcec32fcecd4ec111739393931002fec
+ecf4ec10ee3930b20f2201015d01112132363534262301112132363534262325213216151406
+071e01151404232101930144a39d9da3febc012b94919194fe0b0204e7fa807c95a5fef0fbfd
+e802c9fddd878b8c850266fe3e6f727170a6c0b189a21420cb98c8da00010073ffe3052705f0
+00190036401a0da10eae0a951101a100ae04951791118c1a07190d003014101a10fcec32ec31
+0010e4f4ecf4ec10eef6ee30b40f1b1f1b02015d01152e0123200011100021323637150e0123
+2000111000213216052766e782ff00fef00110010082e7666aed84feadfe7a0186015386ed05
+62d55f5efec7fed8fed9fec75e5fd34848019f01670168019f470000000100ba0000071d047b
+0022005a4026061209180f00061d07150c871d2003b81bbc19100700110f0808065011080f50
+1c18081a462310fcec32fcfcfcec11123931002f3c3ce4f43cc4ec3211121739304013302450
+2470249024a024a024bf24df24ff2409015d013e013332161511231134262322061511231134
+262322061511231133153e01333216042945c082afbeb972758fa6b972778da6b9b93fb0797a
+ab03897c76f5e2fd5c029ea19cbea4fd87029ea29bbfa3fd870460ae67627c000000000200c1
+00000179061400030007002b400e06be04b100bc020501080400460810fc3cec3231002fe4fc
+ec30400b1009400950096009700905015d1333112311331523c1b8b8b8b80460fba00614e900
+00010037000002f2059e0013003840190e05080f03a9001101bc08870a0b0809020400081012
+0e461410fc3cc4fc3cc432393931002fecf43cc4ec3211393930b2af1501015d011121152111
+14163b01152322263511233533110177017bfe854b73bdbdd5a28787059efec28ffda0894e9a
+9fd202608f013e0000000001fffa000004e905d50007004a400e0602950081040140031c0040
+050810d4e4fce431002ff4ec3230014bb00a5458bd00080040000100080008ffc03811373859
+401300091f00100110021f071009400970099f09095d03211521112311210604effdeecbfdee
+05d5aafad5052b000001003b000004790460000b014340460511060706041103040707060411
+050401020103110202010b110001000a11090a0101000a110b0a0708070911080807420a0704
+01040800bf05020a0704010408000208060c10d44bb00a544bb00f545b4bb010545b4bb01154
+5b58b90006004038594bb0145458b90006ffc03859c4d4c411173931002f3cec321739304b53
+58071005ed071008ed071008ed071005ed071005ed071008ed071008ed071005ed5922014098
+0a04040a1a04150a260a3d04310a55045707580a660a76017a047607740a8d04820a99049f04
+9707920a900aa601a904af04a507a30aa00a1c0a03040505090a0b1a03150515091a0b290326
+0525092a0b200d3a013903370534073609390b300d4903460545094a0b400d59005601590259
+0357055606590756085609590b500d6f0d78017f0d9b019407ab01a407b00dcf0ddf0dff0d2f
+5d005d09022309012309013309010464fe6b01aad9febafebad901b3fe72d9012901290460fd
+dffdc101b8fe48024a0216fe71018f00000100c90000048b05d5000b002e4015069504029500
+81089504ad0a05010907031c00040c10fcec32d4c4c431002fececf4ec10ee30b21f0d01015d
+132115211121152111211521c903b0fd1a02c7fd3902f8fc3e05d5aafe46aafde3aa00000001
+006fffe303c7047b002700e7403c0d0c020e0b531f1e080902070a531f1f1e420a0b1e1f0415
+00860189041486158918b91104b925b8118c281e0a0b1f1b0700521b080e07081422452810fc
+c4ecd4ece4111239393939310010e4f4ec10fef5ee10f5ee121739304b535807100eed111739
+070eed1117395922b2002701015d406d1c0a1c0b1c0c2e092c0a2c0b2c0c3b093b0a3b0b3b0c
+0b200020012402280a280b2a132f142f152a16281e281f292029212427860a860b860c860d12
+000000010202060a060b030c030d030e030f03100319031a031b031c041d09272f293f295f29
+7f2980299029a029f029185d005d7101152e012322061514161f011e0115140623222627351e
+013332363534262f012e01353436333216038b4ea85a898962943fc4a5f7d85ac36c66c66182
+8c65ab40ab98e0ce66b4043fae282854544049210e2a99899cb62323be353559514b50250f24
+95829eac1e0000000002007bffe3042d047b000a002500bc4027191f0b17090e00a91706b90e
+1120861fba1cb923b8118c170c001703180d09080b1f030814452610fcecccd4ec3232113939
+31002fc4e4f4fcf4ec10c6ee10ee11391139123930406e301d301e301f3020302130223f2740
+1d401e401f402040214022501d501e501f50205021502250277027851d871e871f8720872185
+229027a027f0271e301e301f30203021401e401f40204021501e501f50205021601e601f6020
+6021701e701f70207021801e801f80208021185d015d0122061514163332363d01371123350e
+01232226353436332135342623220607353e0133321602bedfac816f99b9b8b83fbc88accbfd
+fb0102a79760b65465be5af3f00233667b6273d9b4294cfd81aa6661c1a2bdc0127f8b2e2eaa
+2727fc00000200bafe5604a4047b0010001c003e401b1ab9000e14b90508b80e8c01bd03bc1d
+11120b471704000802461d10fcec3232f4ec310010e4e4e4f4c4ec10c4ee304009601e801ea0
+1ee01e04015d2511231133153e013332001110022322260134262322061514163332360173b9
+b93ab17bcc00ffffcc7bb10238a79292a7a79292a7a8fdae060aaa6461febcfef8fef8febc61
+01ebcbe7e7cbcbe7e700000000020071ffe3047f047b0014001b007040240015010986088805
+15a90105b90c01bb18b912b80c8c1c1b1502081508004b02120f451c10fcecf4ecc411123931
+0010e4f4ece410ee10ee10f4ee1112393040293f1d701da01dd01df01d053f003f013f023f15
+3f1b052c072f082f092c0a6f006f016f026f156f1b095d71015d0115211e0133323637150e01
+232000111000333200072e0123220607047ffcb20ccdb76ac76263d06bfef4fec70129fce201
+07b802a5889ab90e025e5abec73434ae2a2c0138010a01130143feddc497b4ae9e0000010087
+ffe304a205f00027007e403c0d0c020e0b021e1f1e080902070a021f1f1e420a0b1e1f041501
+0015a11494189511049500942591118c281e0a0b1f1b0700221b190e2d071914222810dcc4ec
+fcece4111239393939310010e4f4e4ec10eef6ee10c6111739304b535807100eed1117390710
+0eed1117395922b20f2901015db61f292f294f29035d01152e012322061514161f011e011514
+0421222627351e013332363534262f012e01353424333216044873cc5fa5b377a67ae2d7fedd
+fee76aef807bec72adbc879a7be2ca0117f569da05a4c53736807663651f192bd9b6d9e0302f
+d04546887e6e7c1f182dc0abc6e42600000100c90000019305d50003002eb700af02011c0004
+0410fc4bb0105458b9000000403859ec31002fec3001400d30054005500560058f059f05065d
+13331123c9caca05d5fa2b0000010073ffe3058b05f0001d0039402000051b0195031b950812
+a111ae15950e91088c1e02001c1134043318190b101e10fcecfce4fcc4310010e4f4ecf4ec10
+fed4ee11393930251121352111060423200011100021320417152e0123200011100021323604
+c3feb6021275fee6a0fea2fe75018b015e9201076f70fc8bfeeefeed011301126ba8d50191a6
+fd7f53550199016d016e01994846d75f60fecefed1fed2fece25000000020081ffe305fe05f0
+0009003001cd40960d010e0c861112110b860a0b121211098600091516150701060886161615
+02010301861d1e1d008609001e1e1d201f02211e110a130a17161503181411130a0708020609
+1113130a0201020300110a130a171602181511130a141113130a42120b090306000a1e032815
+0e0628270695182b9527942491188c0e130a2e0b0e09002e1215270e1e032e1227210e110f13
+2103121b103110fcecc4d4d4ec10c6ee1139111239391139391139113931002fc6e4f6e6ee10
+ee10c6111239111739111739304b5358071005ed0705ed111739071005ed111739071005ed11
+17390705ed111739071005ed111739071008ed07100eed11173907100eed111739071008ed07
+1008ed07100eed1117395922b20f3201015d40b2070b052209291c001c011f02170b2a002a01
+26123a003412440b5e0059015a0a55125a1a5a1f5930671e7b009b009a0199029708950b9315
+95169522992d1f090b090c08110c270c2818021b09190b190c19111c141c15161d1f32270027
+01290923122a132a1428152f323b09341239133f324a094c144b1546194f3256015a09590c55
+1259135c1f5f326a0c691160327501790c7a1193009301970295059c079c089f089a099b0b9a
+0c9032a032b032395d005d010e011514163332363709013e0137330602070123270e01232200
+353436372e0135343633321617152e0123220615141601f25b55d4a05fa649fe7b01fc3b4206
+ba0c685d0117fc8f68e483f1fece86863032deb853a555579e4469833b032351a15892c23f40
+028ffdf859cb7284fefe7efee39359570113d780e1633f7d3ca2c52424b62f316f5833670002
+00c90000055405d50013001c00b14035090807030a0611030403051104040342060400150304
+15950914950d810b040506031109001c160e050a191904113f140a1c0c041d10fcec32fcc4ec
+1117391139393931002f3cf4ecd4ec123912391239304b5358071005ed071005ed1117395922
+b2401e01015d40427a1301050005010502060307041500150114021603170425002501250226
+032706260726082609201e3601360246014602680575047505771388068807980698071f5d00
+5d011e01171323032e012b01112311212016151406011133323635342623038d417b3ecdd9bf
+4a8b78dcca01c80100fc83fd89fe9295959202bc16907efe68017f9662fd8905d5d6d88dba02
+4ffdee87838385000001006401df027f028300030011b6009c020401000410dccc310010d4ec
+301321152164021bfde50283a40000020073ffe305d905f0000b00170023401306951200950c
+91128c1809190f33031915101810fcecfcec310010e4f4ec10ee300122001110003332001110
+002720001110002120001110000327dcfefd0103dcdc0101feffdc013a0178fe88fec6fec5fe
+870179054cfeb8fee5fee6feb80148011a011b0148a4fe5bfe9efe9ffe5b01a40162016201a5
+0000000200c90000048d05d500080013003a40180195100095098112100a0802040005190d3f
+11001c09041410fcec32fcec11173931002ff4ecd4ec30400b0f151f153f155f15af1505015d
+011133323635342623252132041514042b0111230193fe8d9a9a8dfe3801c8fb0101fefffbfe
+ca052ffdcf92878692a6e3dbdde2fda80001ffecfe1d0414feac0003000fb500a90100020410
+c4c43100d4ec30011521350414fbd8feac8f8f000000000100100000056805d5000600b74027
+04110506050311020306060503110403000100021101010042030401af000604030200050501
+0710d4c4173931002fec3239304b5358071005ed071008ed071008ed071005ed5922b2500801
+015d406200032a03470447055a037d038303070600070208040906150114021a041a052a0026
+01260229042905250620083800330133023c043c053706480045014502490449054706590056
+066602690469057a0076017602790479057506800898009706295d005d21013309013301024a
+fdc6d301d901dad2fdc705d5fb1704e9fa2b000100c90000061f05d5000c00bf403403110708
+070211010208080702110302090a0901110a0a09420a070203080300af080b05090803020105
+0a061c043e0a1c00040d10fcecfcec11173931002f3cc4ec32111739304b5358071005ed0710
+08ed071008ed071005ed5922b2700e01015d405603070f080f09020a15021407130a26022607
+2007260a200a3407350a69027c027b07790a80028207820a90021604010b0313011b0323012c
+032708280934013c035608590965086a097608790981018d0395019b03145d005d1321090121
+1123110123011123c9012d017d017f012dc5fe7fcbfe7fc405d5fc0803f8fa2b051ffc000400
+fae10000013500b800cb00cb00c100aa009c01a600b800660000007100cb00a002b200850075
+00b800c301cb0189022d00cb00a600f000d300aa008700cb03aa0400014a003300cb000000d9
+050200f4015400b4009c01390114013907060400044e04b4045204b804e704cd0037047304cd
+04600473013303a2055605a60556053903c5021200c9001f00b801df007300ba03e9033303bc
+0444040e00df03cd03aa00e503aa0404000000cb008f00a4007b00b80014016f007f027b0252
+008f00c705cd009a009a006f00cb00cd019e01d300f000ba018300d5009803040248009e01d5
+00c100cb00f600830354027f00000333026600d300c700a400cd008f009a0073040005d5010a
+00fe022b00a400b4009c00000062009c0000001d032d05d505d505d505f0007f007b005400a4
+06b80614072301d300b800cb00a601c301ec069300a000d3035c037103db0185042304a80448
+008f0139011401390360008f05d5019a0614072306660179046004600460047b009c00000277
+046001aa00e904600762007b00c5007f027b000000b4025205cd006600bc00660077061000cd
+013b01850389008f007b0000001d00cd074a042f009c009c0000077d006f0000006f0335006a
+006f007b00ae00b2002d0396008f027b00f600830354063705f6008f009c04e10266008f018d
+02f600cd03440029006604ee00730000140000960000b707060504030201002c2010b0022549
+64b040515820c859212d2cb002254964b040515820c859212d2c20100720b00050b00d7920b8
+ffff5058041b0559b0051cb0032508b0042523e120b00050b00d7920b8ffff5058041b0559b0
+051cb0032508e12d2c4b505820b0fd454459212d2cb002254560442d2c4b5358b00225b00225
+45445921212d2c45442d2cb00225b0022549b00525b005254960b0206368208a108a233a8a10
+653a2d00000100000002570afb6146a45f0f3cf5001f080000000000cef5cb7600000000cef5
+cb76f7d6fcae0d72095500000008000000010000000000010000076dfe1d00000de2f7d6fa51
+0d7200010000000000000000000000000000001f04cd006605790010051200ba046600710512
+00ba04e50071034a00ba028b0000057d00c90596007307cb00ba023900c10323003704e3fffa
+04bc003b050e00c9042b006f04e7007b051400ba04ec007105140087025c00c906330073063d
+0081058f00c902e30064064c007304d300c90400ffec0579001006e700c90000000000000044
+00000140000001b800000250000002c80000036c000003dc000003dc0000048c000005240000
+05e800000638000006b400000724000008a80000090800000a6800000b9400000c3400000d08
+00000e0000000e4800000ef0000011580000126c0000129800001324000013a4000013d00000
+14b0000015ac00010000001f0354002b0068000c000200100099000800000415021600080004
+b8028040fffbfe03fa1403f92503f83203f79603f60e03f5fe03f4fe03f32503f20e03f19603
+f02503ef8a4105effe03ee9603ed9603ecfa03ebfa03eafe03e93a03e84203e7fe03e63203e5
+e45305e59603e48a4105e45303e3e22f05e3fa03e22f03e1fe03e0fe03df3203de1403dd9603
+dcfe03db1203da7d03d9bb03d8fe03d68a4105d67d03d5d44705d57d03d44703d3d21b05d3fe
+03d21b03d1fe03d0fe03cffe03cefe03cd9603cccb1e05ccfe03cb1e03ca3203c9fe03c68511
+05c61c03c51603c4fe03c3fe03c2fe03c1fe03c0fe03bffe03befe03bdfe03bcfe03bbfe03ba
+1103b9862505b9fe03b8b7bb05b8fe03b7b65d05b7bb03b78004b6b52505b65d40ff03b64004
+b52503b4fe03b39603b2fe03b1fe03b0fe03affe03ae6403ad0e03acab2505ac6403abaa1205
+ab2503aa1203a98a4105a9fa03a8fe03a7fe03a6fe03a51203a4fe03a3a20e05a33203a20e03
+a16403a08a4105a096039ffe039e9d0c059efe039d0c039c9b19059c64039b9a10059b19039a
+1003990a0398fe0397960d0597fe03960d03958a410595960394930e05942803930e0392fa03
+9190bb0591fe03908f5d0590bb039080048f8e25058f5d038f40048e25038dfe038c8b2e058c
+fe038b2e038a8625058a410389880b05891403880b0387862505876403868511058625038511
+0384fe038382110583fe0382110381fe0380fe037ffe0340ff7e7d7d057efe037d7d037c6403
+7b5415057b25037afe0379fe03780e03770c03760a0375fe0374fa0373fa0372fa0371fa0370
+fe036ffe036efe036c21036bfe036a1142056a530369fe03687d036711420566fe0365fe0364
+fe0363fe0362fe03613a0360fa035e0c035dfe035bfe035afe0359580a0559fa03580a035716
+190557320356fe035554150555420354150353011005531803521403514a130551fe03500b03
+4ffe034e4d10054efe034d10034cfe034b4a13054bfe034a4910054a1303491d0d0549100348
+0d0347fe0346960345960344fe0343022d0543fa0342bb03414b0340fe033ffe033e3d12053e
+14033d3c0f053d12033c3b0d053c40ff0f033b0d033afe0339fe033837140538fa0337361005
+37140336350b05361003350b03341e03330d0332310b0532fe03310b03302f0b05300d032f0b
+032e2d09052e10032d09032c32032b2a25052b64032a2912052a250329120328272505284103
+27250326250b05260f03250b0324fe0323fe03220f03210110052112032064031ffa031e1d0d
+051e64031d0d031c1142051cfe031bfa031a42031911420519fe031864031716190517fe0316
+01100516190315fe0314fe0313fe031211420512fe0311022d05114203107d030f64030efe03
+0d0c16050dfe030c0110050c16030bfe030a100309fe0308022d0508fe030714030664030401
+100504fe03401503022d0503fe0302011005022d0301100300fe0301b80164858d012b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b002b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b1d00>
+] def
+/f-0-0 currentdict end definefont pop
+%%EndResource
+%%BeginResource: font DejaVuSans-Bold
+11 dict begin
+/FontType 42 def
+/FontName /DejaVuSans-Bold 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 79 /O put
+Encoding 82 /R put
+/CharStrings 3 dict dup begin
+/.notdef 0 def
+/O 1 def
+/R 2 def
+end readonly def
+/sfnts [
+<000100000009008000030010637674203eb9310800000268000002546670676d5b026bf00000
+04bc000000ac676c7966581f41560000009c000001cc68656164045e38fb0000056800000036
+686865610eaf0774000005a000000024686d747811c30188000005c40000000c6c6f63610000
+02f8000005d0000000106d6178700648062d000005e000000020707265707c61a2e700000600
+000007a700020066fe96046605a400030007001fbc00040126000000060126b6010805890204
+002fc4d4ec310010d4ecd4ec301311211125211121660400fc73031bfce5fe96070ef8f27206
+2900000000020066ffe3066605f0000b00170032401306ae1200ae0c9c129818092d0f37032d
+152b1810fcecfcec310010e4f4ec10ee30400b0019171310192f193f1905015d012202151412
+3332123534020320001110002120001110000366b0c2c2b0b1c2c2b101680198fe68fe98fe99
+fe67019904d9fefcecebfefc0104ebec01040117fe64fe95fe96fe64019c016a016b019c0000
+000200bc0000060005d50008001c008740321b1a021c191d161716181d1717162519160a1300
+ae0906ae0c8d170a16131803101c190600040d07031617100907160b031d10fcec32d4c4ec11
+39173911173931002f3cf4ecd4ec39123939304b5358071005ed071005ed1117395922b2181c
+01015d401f1b181b191a1a1b1b1a1c361536164515451656155616501e65156516601e0f5d01
+32363534262b0119022111212004151406071e01171321032e012302df79696979a2fe7f024c
+012701138f904f7d40d1fe66b637715e033f5a676658fe81fef6fdcb05d5c6d694be2d127f81
+fe5801737052000001660133016600bc00e90000013d00a200fa031f00020002006601660002
+000200ac015400ec00bc006201660181048501540166016d04a400020166007f04cd00000002
+0133006200710000002504a401bc00ba00e500660181018d0548055a0166016d000000000002
+000200f605c301f0053902390058046d043d04b2048104b2016601750466048100b004660439
+02d1049c047b04cf047b005801330166014c0166014c000200ac009a014a0123009a029a0144
+0119014402cd00c100000166013f019a013b05cb05cb00d500d5015000ac00ac0077020a01c7
+01f2012f015801b2012300f600f6011f012f0135023501ee01e70133009800d10358050a009a
+008f0112009800bc00cd00e500e500f2007304000166008f05d5022b05d500c300e100d700e5
+0000006a01020000001d032d05d505d505f000a8006a00ec00e1010205d506140721046602f8
+00ec018302a602f80123010201020112011f031f005e03cd046004c7048900ec01bc00ba0102
+0333031f03420333035c0112011f05d5019a009a00e106660179046004600460047b000000ec
+02c302b802cd00be00dd00d50000006a025c027b029a00dd01ae01ba01120000008501ae0460
+0762041b009a069a045800ee009a029a00d102cd019a015005cb05cb008b008b063100f60406
+00f0034c016004a800c10000002505c101000121074a06120096014a078300a800000337007b
+0014000000c9010005c105c105c105c101000108061d00960427039e00ec0102027d01330098
+00d10358017900cd02390362009c009c009c009301b8009300b80073000014000326b7070605
+04030201002c2010b002254964b040515820c859212d2cb002254964b040515820c859212d2c
+20100720b00050b00d7920b8ffff5058041b0559b0051cb0032508b0042523e120b00050b00d
+7920b8ffff5058041b0559b0051cb0032508e12d2c4b505820b80128454459212d2cb0022545
+60442d2c4b5358b00225b0022545445921212d2c45442d2cb00225b0022549b00525b0052549
+60b0206368208a108a233a8a10653a2d000100000002570aca280dd25f0f3cf5001f08000000
+0000cef5cb7000000000cef5cb70f772fcae0fcd096500010008000000010000000000010000
+076dfe1d00001021f772f9320fcd00010000000000000000000000000000000304cd006606cd
+0066062900bc000000000000004c000000e0000001cc000100000003034e002b0078000c0002
+001000400008000005ed02210008000441840280012600fe000301250011000301240121003a
+0005012400fa000301230016000301220121003a0005012200fe00030121003a0003012000fa
+0003011f00bb0003011e00640003011d00fe0003011c00190003011b001e0003011a00fe0003
+011900fe0003011800fe0003011700fe0003011600fe000301150114000e0005011500fe0003
+0114000e0003011300fe0003011200fe0003010f010e007d0005010f00fe0003010e007d0003
+010d010c008c0005010d00fe0003010d00c00004010c010b00590005010c008c0003010c0080
+0004010b010a00260005010b00590003010b00400004010a00260003010900fe0003010800fe
+00030107000c00030107008000040106b2972e054113010600fa0003010500fa0003010400fe
+0003010300190003010200fa0003010100fa0003010040ff7d03ff3e03fefe03fcfb2c05fcfe
+03fb2c03fafe03f9f84705f97d03f84703f7fa03f6fe03f5fe03f4fe03f3bb03f2fe03f1fe03
+f0fe03ef1e03eefe03edec0a05edfe03ec0a03ec4004ebea0a05eb3203ea0a03e9fa03e89116
+05e8fe03e7fa03e6fa03e5911605e5fe03e4fe03e3fe03e2fe03e1fe03e0fe03dffe03defa03
+dddc1805dd6403dc1803dba01e05db6403dad92505dafa03d92503d8d12505d8fa03d7d61405
+d71603d6d51005d61403d51003d4d30b05d42003d30b03d2d12505d2fa03d1911605d12503d0
+940c05d02303cfce1405cf2603cecd1205ce1403cd1203cc911605cc1d03cb1403cac9bb05ca
+fe03c9c85d05c9bb03c98004c840ffc72505c85d03c84004c72503c6fe03c56403c4901005c4
+fe03c31c03c2fe03c1fe03c0bf3a05c0fa03bfad1b05bf3a03bebd1a05be3203bdbc1105bd1a
+03bcbb0f05bc1103bbba0c05bb0f03ba0c03b9911605b9fe03b8fe03b71503b61203b5fe03b4
+fe03b3fe03b21703b11903b01603afad1b05affa03aead1b05aefa03ad911605ad1b03ac9116
+05ac7d03abfe03aa2603a9fe03a8fe03a7fe03a6fe03a50a03a4fe03a3a20e05a3fe03a20e03
+a24004a1a01e05a1fa03a0911605a01e039f9116059ffa039e940c059e1c039dfe039c9bbb05
+9cfe039b9a5d059bbb039b80049a8f25059a5d039a400499fe0398972e0598fe03972e039691
+1605961e40ff0395940c05952003940c0393911605934b039291160592fe0391901005911603
+9010038f25038efe038dfe038cfe038bfe038afe0389fe038887250588fe0387250386fe0385
+fe0384320383960382fe0381fe038019037f0a037efe037dfe037cfe037bfa037afa0379fe03
+7776a60577fe0376a60375741b0575fa03741b0373fa03727d0371fe03706f2c056f2c036efa
+036dfa036cfa036bfe036afe0369fe0368630c0568320367fe0366320365640a0565fe03640a
+0364400463620a05630c03620a0361601505619603600111056015035f0a035efe035dfe035c
+0111055cfe035b5a1b055bfe035a0111055a1b0359fe0358fa0357fe035601110540ff56fe03
+55fe03541e035314035251190552fa0351011105511903504f190550fa034f4e11054f19034e
+11034d1e034c4b14054c15034b4a11054b14034a490e054a1103490e0348fa03474614054715
+0346140345fa0344430e05440f03430e034241250542fa0341011105412503403f0f0540fe03
+3f3e0e053f0f033e0e033d3c0d053d16033c0d033b64033afe0339140338fe0337130336351a
+0536250335341405351a0335c004340a0d0534140334800433320c05331403334004320c0331
+30a60531fe033001110530a6032f0c032e13032d2c3a052dfa032c1525052c3a032b64032a64
+0329fe0328150327171105271e03262003251e0324231105402b241e0323110322000d0522fa
+03210f032140042014031f0a031e1e031d1c19051d25031c0f13051c19031cb801004091041b
+0d031a194b051a7d0319011105194b0318fe031711031615250516fa03150111051525031464
+0313110312fe031101110511fe031064030f0e10050f13030fc0040e10030e80040d0111050d
+fa030c32030b0a0d050b16030b80040a0d030a400409fe0308fe0307fe0306050a0506fe0305
+0a0305400404fa030364030201110502fe0301000d05011103000d0301b80164858d012b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b002b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b1d0000>
+] def
+/f-1-0 currentdict end definefont pop
+%%EndResource
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 12 -1 552 434
+%%EndPageSetup
+q 12 -1 540 435 rectclip q
+0 g
+BT
+17.6 0 0 17.6 130.590635 355.418671 Tm
+/f-0-0 1 Tf
+[(Anchor)-3( A)]TJ
+11.78352 -0.0324679 Td
+[(Anchor)-3( B)]TJ
+ET
+2.4 w
+1 J
+1 j
+[] 0.0 d
+4 M q 1 0 0 -1 0 433.896301 cm
+122.449 55.629 96 32.574 re S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+170.449 87.059 m 170.449 167.059 l S Q
+170.449 274.838 m 167.25 278.037 l 170.449 266.838 l 173.648 278.037 l
+h
+170.449 274.838 m f*
+0.8 w
+q 0 1 1 0 0 433.896301 cm
+-159.059 170.449 m -155.859 167.25 l -167.059 170.449 l -155.859 173.648
+ l h
+-159.059 170.449 m S Q
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+329.305 55.629 96 33.715 re S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+377.305 88.203 m 377.305 168.203 l S Q
+377.305 273.693 m 374.105 276.892 l 377.305 265.693 l 380.504 276.892 l
+ h
+377.305 273.693 m f*
+0.8 w
+q 0 1 1 0 0 433.896301 cm
+-160.203 377.305 m -157.004 374.105 l -168.203 377.305 l -157.004 380.504
+ l h
+-160.203 377.305 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+170.164 216.844 m 170.449 256.203 l 265.957 256.105 l 265.387 297.246 l
+ S Q
+265.496 144.65 m 262.344 147.892 l 265.387 136.65 l 268.742 147.803 l h
+265.496 144.65 m f*
+0.799923 w
+q 0.0138888 1 1 -0.0138888 0 433.896301 cm
+-285.504 269.461 m -282.306 266.265 l -293.504 269.463 l -282.307 272.663
+ l h
+-285.504 269.461 m S Q
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+137.555 351.727 96 80 re S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+89.879 15.629 m 138.449 52.773 l S Q
+132.094 385.982 m 127.609 385.385 l 138.449 381.123 l 131.496 390.467 l
+ h
+132.094 385.982 m f*
+0.635486 w
+q -1 0.764706 0.764706 1 0 433.896301 cm
+-106.472 33.506 m -103.931 30.965 l -112.827 33.506 l -103.931 36.047 l
+ h
+-106.472 33.506 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+201.879 8.773 m 194.449 53.918 l S Q
+195.746 387.873 m 193.109 391.553 l 194.449 379.978 l 199.426 390.513 l
+ h
+195.746 387.873 m f*
+0.789384 w
+q 0.164557 1 1 -0.164557 0 433.896301 cm
+-13.448 197.959 m -10.288 194.802 l -21.342 197.961 l -10.287 201.119 l
+ h
+-13.448 197.959 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+297.879 15.629 m 346.449 52.773 l S Q
+340.094 385.982 m 335.609 385.385 l 346.449 381.123 l 339.496 390.467 l
+ h
+340.094 385.982 m f*
+0.635486 w
+q -1 0.764706 0.764706 1 0 433.896301 cm
+-237.721 133.872 m -235.179 131.331 l -244.076 133.873 l -235.18 136.414
+ l h
+-237.721 133.872 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+457.305 16.203 m 409.305 54.488 l S Q
+415.559 384.396 m 416.066 388.892 l 409.305 379.408 l 420.059 383.892 l
+ h
+415.559 384.396 m f*
+0.625421 w
+q 1 0.797619 0.797619 -1 0 433.896301 cm
+229.848 232.831 m 232.35 230.331 l 223.594 232.831 l 232.353 235.333 l
+h
+229.848 232.831 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+418.449 0.203 m 387.02 53.918 l S Q
+391.059 386.885 m 389.914 391.263 l 387.02 379.978 l 395.438 388.029 l
+h
+391.059 386.885 m f*
+0.69049 w
+q 0.585107 1 1 -0.585107 0 433.896301 cm
+135.434 311.816 m 138.197 309.054 l 128.528 311.817 l 138.195 314.579 l
+ h
+135.434 311.816 m S Q
+BT
+17.6 0 0 17.6 150.69448 46.484589 Tm
+/f-0-0 1 Tf
+[(Commit)]TJ
+0.862305 -1.25 Td
+(Tx A)Tj
+ET
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+27.348 174.184 96 32.574 re S Q
+BT
+17.6 0 0 17.6 34.346965 238.578938 Tm
+/f-0-0 1 Tf
+[(Esca)-3(pe A)]TJ
+ET
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+250.605 310.918 m 178.293 310.348 l 178.293 350.348 l S Q
+178.293 91.549 m 175.094 94.752 l 178.293 83.549 l 181.492 94.752 l h
+178.293 91.549 m f*
+0.8 w
+q 0.0000002 1 1 -0.0000002 0 433.896301 cm
+-342.348 178.293 m -339.144 175.094 l -350.348 178.293 l -339.144 181.492
+ l h
+-342.348 178.293 m S Q
+BT
+12 0 0 12 142.310385 332.286029 Tm
+/f-0-0 1 Tf
+(SIGA & SIGB)Tj
+/f-1-0 1 Tf
+2.288086 -1.25 Td
+(OR)Tj
+/f-0-0 1 Tf
+-5.415039 -1.25 Td
+[(SIGA & SIGB & SEC)-3(RET)90(-)21(A)]TJ
+ET
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+427.684 171.355 96 32.57 re S Q
+BT
+17.6 0 0 17.6 434.682052 241.407364 Tm
+/f-0-0 1 Tf
+[(Esca)-3(pe B)]TJ
+ET
+q 1 0 0 -1 0 433.896301 cm
+315.172 352.695 96 80 re S Q
+BT
+17.6 0 0 17.6 328.310715 45.514032 Tm
+/f-0-0 1 Tf
+[(Commit)]TJ
+0.861328 -1.25 Td
+(Tx B)Tj
+ET
+q 1 0 0 -1 0 433.896301 cm
+297.879 319.629 m 297.879 332.887 287.133 343.629 273.879 343.629 c 260.621
+ 343.629 249.879 332.887 249.879 319.629 c 249.879 306.375 260.621 295.629
+ 273.879 295.629 c 287.133 295.629 297.879 306.375 297.879 319.629 c h
+297.879 319.629 m S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+273.879 295.629 m 273.879 343.629 l S Q
+q 1 0 0 -1 0 433.896301 cm
+249.879 319.629 m 297.879 319.629 l S Q
+q 1 0 0 -1 0 433.896301 cm
+250.605 326.918 m 194.293 326.918 l 194.293 350.348 l S Q
+194.293 91.549 m 191.094 94.752 l 194.293 83.549 l 197.492 94.752 l h
+194.293 91.549 m f*
+0.8 w
+q 0.000000341463 1 1 -0.000000341463 0 433.896301 cm
+-342.348 194.293 m -339.144 191.094 l -350.348 194.293 l -339.144 197.492
+ l h
+-342.348 194.293 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+296.574 310.918 m 368.883 310.348 l 368.887 350.348 l S Q
+368.887 91.549 m 365.684 94.752 l 368.887 83.549 l 372.086 94.752 l h
+368.887 91.549 m f*
+0.8 w
+q -0.0000002 1 1 0.0000002 0 433.896301 cm
+-342.348 368.887 m -339.145 365.684 l -350.348 368.887 l -339.145 372.086
+ l h
+-342.348 368.887 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+296.574 326.918 m 352.883 326.918 l 352.887 350.348 l S Q
+352.887 91.549 m 349.684 94.752 l 352.887 83.549 l 356.086 94.752 l h
+352.887 91.549 m f*
+0.8 w
+q -0.000000341463 1 1 0.000000341463 0 433.896301 cm
+-342.348 352.887 m -339.145 349.683 l -350.348 352.887 l -339.145 356.086
+ l h
+-342.348 352.887 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+377.742 218.223 m 377.789 256.203 l 281.711 255.531 l 281.711 297.816 l
+ S Q
+281.711 144.08 m 278.508 147.279 l 281.711 136.08 l 284.91 147.279 l h
+281.711 144.08 m f*
+0.8 w
+q 0.000000189189 1 1 -0.000000189189 0 433.896301 cm
+-289.816 281.711 m -286.617 278.508 l -297.816 281.711 l -286.617 284.91
+ l h
+-289.816 281.711 m S Q
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+193.879 191.387 m 193.879 204.641 183.133 215.387 169.879 215.387 c 156.621
+ 215.387 145.879 204.641 145.879 191.387 c 145.879 178.133 156.621 167.387
+ 169.879 167.387 c 183.133 167.387 193.879 178.133 193.879 191.387 c h
+193.879 191.387 m S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+169.879 167.387 m 169.879 215.387 l S Q
+q 1 0 0 -1 0 433.896301 cm
+145.879 191.387 m 193.879 191.387 l S Q
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+402.199 193.73 m 402.199 206.988 391.453 217.73 378.199 217.73 c 364.945
+ 217.73 354.199 206.988 354.199 193.73 c 354.199 180.477 364.945 169.73
+378.199 169.73 c 391.453 169.73 402.199 180.477 402.199 193.73 c h
+402.199 193.73 m S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+378.199 169.73 m 378.199 217.73 l S Q
+q 1 0 0 -1 0 433.896301 cm
+354.199 193.73 m 402.199 193.73 l S Q
+BT
+12 0 0 12 154.199851 68.649481 Tm
+/f-0-0 1 Tf
+(SIG A & B)Tj
+14.845178 -0.134686 Td
+[(SIG A &)-319(B)]TJ
+ET
+q 1 0 0 -1 0 433.896301 cm
+145.879 191.629 m 125.879 191.629 l S Q
+133.879 242.267 m 137.078 245.467 l 125.879 242.267 l 137.078 239.064 l
+ h
+133.879 242.267 m f*
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+133.879 191.629 m 137.078 188.43 l 125.879 191.629 l 137.078 194.832 l
+h
+133.879 191.629 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+403.652 190.984 m 423.652 190.984 l S Q
+415.652 242.912 m 412.453 239.713 l 423.652 242.912 l 412.453 246.115 l
+ h
+415.652 242.912 m f*
+0.8 w
+q -1 0 0 1 0 433.896301 cm
+-415.652 -190.984 m -412.453 -194.184 l -423.652 -190.984 l -412.453 -187.781
+ l h
+-415.652 -190.984 m S Q
+BT
+12 0 0 12 46.933432 206.540155 Tm
+/f-0-0 1 Tf
+[(OP_CSV & SIGA)]TJ
+/f-1-0 1 Tf
+3.046875 -1.25 Td
+(OR)Tj
+/f-0-0 1 Tf
+-3.569336 -1.25 Td
+[(RIMA)17(GE-)20(A & SIGB)]TJ
+-2.377081 7.679162 Td
+[(SIGA & SIGB & SEC)-3(RET)90(-)21(A)]TJ
+32.565481 0.100846 Td
+[(SIGA & SIGB & SEC)-3(RET)90(-)35(B)]TJ
+-4.384188 5.279695 Td
+(SIGA & SIGB)Tj
+/f-1-0 1 Tf
+2.288086 -1.25 Td
+(OR)Tj
+/f-0-0 1 Tf
+-5.40918 -1.25 Td
+[(SIGA & SIGB & SEC)-3(RET)90(-)35(B)]TJ
+ET
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+73.477 207.059 m 73.477 252.309 l S Q
+73.477 189.588 m 70.277 192.787 l 73.477 181.588 l 76.68 192.787 l h
+73.477 189.588 m f*
+0.8 w
+q 0 1 1 0 0 433.896301 cm
+-244.309 73.477 m -241.109 70.277 l -252.309 73.477 l -241.109 76.68 l
+h
+-244.309 73.477 m S Q
+BT
+12 0 0 12 447.973532 208.481293 Tm
+/f-0-0 1 Tf
+[(OP_CSV & SIGB)]TJ
+/f-1-0 1 Tf
+3.047852 -1.25 Td
+(OR)Tj
+/f-0-0 1 Tf
+-3.5625 -1.25 Td
+[(RIMA)17(GE-)33(B & SIGA)]TJ
+ET
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+474.531 205.117 m 474.531 250.367 l S Q
+474.531 191.529 m 471.328 194.728 l 474.531 183.529 l 477.73 194.728 l
+h
+474.531 191.529 m f*
+0.8 w
+q 0 1 1 0 0 433.896301 cm
+-242.367 474.531 m -239.168 471.328 l -250.367 474.531 l -239.168 477.73
+ l h
+-242.367 474.531 m S Q
+Q Q
+showpage
+%%Trailer
+end restore
+%%EOF
diff --git a/doc/dual-anchor-diag4.svg b/doc/dual-anchor-diag4.svg
new file mode 100644
index 000000000..8ff60a227
--- /dev/null
+++ b/doc/dual-anchor-diag4.svg
@@ -0,0 +1,823 @@
+
+
+
+
diff --git a/doc/dual-anchor-final.eps b/doc/dual-anchor-final.eps
new file mode 100644
index 000000000..f7665f005
--- /dev/null
+++ b/doc/dual-anchor-final.eps
@@ -0,0 +1,911 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.14.2 (http://cairographics.org)
+%%CreationDate: Tue Jul 14 16:07:01 2015
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%BoundingBox: 7 -1 559 434
+%%EndComments
+%%BeginProlog
+save
+50 dict 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
+%%BeginSetup
+%%BeginResource: font DejaVuSans
+11 dict begin
+/FontType 42 def
+/FontName /DejaVuSans 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 32 /space put
+Encoding 38 /ampersand put
+Encoding 45 /hyphen put
+Encoding 65 /A put
+Encoding 66 /B put
+Encoding 67 /C put
+Encoding 69 /E put
+Encoding 70 /F put
+Encoding 71 /G put
+Encoding 73 /I put
+Encoding 77 /M put
+Encoding 79 /O put
+Encoding 80 /P put
+Encoding 82 /R put
+Encoding 83 /S put
+Encoding 84 /T put
+Encoding 86 /V put
+Encoding 95 /underscore put
+Encoding 97 /a put
+Encoding 99 /c put
+Encoding 101 /e put
+Encoding 104 /h put
+Encoding 105 /i put
+Encoding 109 /m put
+Encoding 110 /n put
+Encoding 111 /o put
+Encoding 112 /p put
+Encoding 114 /r put
+Encoding 115 /s put
+Encoding 116 /t put
+Encoding 120 /x put
+/CharStrings 32 dict dup begin
+/.notdef 0 def
+/A 1 def
+/n 2 def
+/c 3 def
+/h 4 def
+/o 5 def
+/r 6 def
+/space 7 def
+/B 8 def
+/C 9 def
+/m 10 def
+/i 11 def
+/t 12 def
+/T 13 def
+/x 14 def
+/E 15 def
+/s 16 def
+/a 17 def
+/p 18 def
+/e 19 def
+/S 20 def
+/I 21 def
+/G 22 def
+/ampersand 23 def
+/R 24 def
+/hyphen 25 def
+/O 26 def
+/P 27 def
+/underscore 28 def
+/V 29 def
+/M 30 def
+/F 31 def
+end readonly def
+/sfnts [
+<0001000000090080000300106376742000691d390000169c000001fe6670676d7134766a0000
+189c000000ab676c79662a49843c0000009c0000160068656164026638f70000194800000036
+686865610cb806710000198000000024686d747899f00fc2000019a4000000806c6f63610001
+549000001a24000000846d617870048d067100001aa800000020707265703b07f10000001ac8
+0000056800020066fe96046605a400030007001a400c04fb0006fb0108057f0204002fc4d4ec
+310010d4ecd4ec301311211125211121660400fc73031bfce5fe96070ef8f272062900020010
+0000056805d50002000a00c2404100110100040504021105050401110a030a0011020003030a
+0711050406110505040911030a08110a030a4200030795010381090509080706040302010009
+050a0b10d4c4173931002f3ce4d4ec1239304b5358071005ed0705ed071005ed0705ed071008
+ed071005ed071005ed071008ed5922b2200c01015d40420f010f020f070f080f005800760070
+008c000907010802060309041601190256015802500c67016802780176027c03720477077808
+87018802800c980299039604175d005d090121013301230321032302bcfeee0225fe7be50239
+d288fd5f88d5050efd1903aefa2b017ffe810000000100ba00000464047b0013003640190309
+00030e0106870e11b80cbc0a010208004e0d09080b461410fcec32f4ec31002f3ce4f4c4ec11
+12173930b46015cf1502015d0111231134262322061511231133153e013332160464b87c7c95
+acb9b942b375c1c602a4fd5c029e9f9ebea4fd870460ae6564ef00010071ffe303e7047b0019
+003f401b00860188040e860d880ab91104b917b8118c1a07120d004814451a10fce432ec3100
+10e4f4ec10fef4ee10f5ee30400b0f1b101b801b901ba01b05015d01152e0123220615141633
+323637150e0123220011100021321603e74e9d50b3c6c6b3509d4e4da55dfdfed6012d010655
+a20435ac2b2be3cdcde32b2baa2424013e010e0112013a230000000100ba0000046406140013
+00344019030900030e0106870e11b80c970a010208004e0d09080b461410fcec32f4ec31002f
+3cecf4c4ec1112173930b2601501015d0111231134262322061511231133113e013332160464
+b87c7c95acb9b942b375c1c602a4fd5c029e9f9ebea4fd870614fd9e6564ef0000020071ffe3
+0475047b000b0017004a401306b91200b90cb8128c1809120f51031215451810fcecf4ec3100
+10e4f4ec10ee3040233f197b007b067f077f087f097f0a7f0b7b0c7f0d7f0e7f0f7f107f117b
+12a019f01911015d012206151416333236353426273200111000232200111000027394acab95
+93acac93f00112feeef0f1feef011103dfe7c9c9e7e8c8c7e99cfec8feecfeedfec701390113
+011401380000000100ba0000034a047b001100304014060b0700110b03870eb809bc070a0608
+0008461210fcc4ec3231002fe4f4ecc4d4cc11123930b450139f1302015d012e012322061511
+231133153e0133321617034a1f492c9ca7b9b93aba85132e1c03b41211cbbefdb20460ae6663
+05050000000300c9000004ec05d5000800110020004340231900950a0995128101950aad1f11
+0b080213191f05000e1c1605191c2e09001c12042110fcec32fcecd4ec111739393931002fec
+ecf4ec10ee3930b20f2201015d01112132363534262301112132363534262325213216151406
+071e01151404232101930144a39d9da3febc012b94919194fe0b0204e7fa807c95a5fef0fbfd
+e802c9fddd878b8c850266fe3e6f727170a6c0b189a21420cb98c8da00010073ffe3052705f0
+00190036401a0da10eae0a951101a100ae04951791118c1a07190d003014101a10fcec32ec31
+0010e4f4ecf4ec10eef6ee30b40f1b1f1b02015d01152e0123200011100021323637150e0123
+2000111000213216052766e782ff00fef00110010082e7666aed84feadfe7a0186015386ed05
+62d55f5efec7fed8fed9fec75e5fd34848019f01670168019f470000000100ba0000071d047b
+0022005a4026061209180f00061d07150c871d2003b81bbc19100700110f0808065011080f50
+1c18081a462310fcec32fcfcfcec11123931002f3c3ce4f43cc4ec3211121739304013302450
+2470249024a024a024bf24df24ff2409015d013e013332161511231134262322061511231134
+262322061511231133153e01333216042945c082afbeb972758fa6b972778da6b9b93fb0797a
+ab03897c76f5e2fd5c029ea19cbea4fd87029ea29bbfa3fd870460ae67627c000000000200c1
+00000179061400030007002b400e06be04b100bc020501080400460810fc3cec3231002fe4fc
+ec30400b1009400950096009700905015d1333112311331523c1b8b8b8b80460fba00614e900
+00010037000002f2059e0013003840190e05080f03a9001101bc08870a0b0809020400081012
+0e461410fc3cc4fc3cc432393931002fecf43cc4ec3211393930b2af1501015d011121152111
+14163b01152322263511233533110177017bfe854b73bdbdd5a28787059efec28ffda0894e9a
+9fd202608f013e0000000001fffa000004e905d50007004a400e0602950081040140031c0040
+050810d4e4fce431002ff4ec3230014bb00a5458bd00080040000100080008ffc03811373859
+401300091f00100110021f071009400970099f09095d03211521112311210604effdeecbfdee
+05d5aafad5052b000001003b000004790460000b014340460511060706041103040707060411
+050401020103110202010b110001000a11090a0101000a110b0a0708070911080807420a0704
+01040800bf05020a0704010408000208060c10d44bb00a544bb00f545b4bb010545b4bb01154
+5b58b90006004038594bb0145458b90006ffc03859c4d4c411173931002f3cec321739304b53
+58071005ed071008ed071008ed071005ed071005ed071008ed071008ed071005ed5922014098
+0a04040a1a04150a260a3d04310a55045707580a660a76017a047607740a8d04820a99049f04
+9707920a900aa601a904af04a507a30aa00a1c0a03040505090a0b1a03150515091a0b290326
+0525092a0b200d3a013903370534073609390b300d4903460545094a0b400d59005601590259
+0357055606590756085609590b500d6f0d78017f0d9b019407ab01a407b00dcf0ddf0dff0d2f
+5d005d09022309012309013309010464fe6b01aad9febafebad901b3fe72d9012901290460fd
+dffdc101b8fe48024a0216fe71018f00000100c90000048b05d5000b002e4015069504029500
+81089504ad0a05010907031c00040c10fcec32d4c4c431002fececf4ec10ee30b21f0d01015d
+132115211121152111211521c903b0fd1a02c7fd3902f8fc3e05d5aafe46aafde3aa00000001
+006fffe303c7047b002700e7403c0d0c020e0b531f1e080902070a531f1f1e420a0b1e1f0415
+00860189041486158918b91104b925b8118c281e0a0b1f1b0700521b080e07081422452810fc
+c4ecd4ece4111239393939310010e4f4ec10fef5ee10f5ee121739304b535807100eed111739
+070eed1117395922b2002701015d406d1c0a1c0b1c0c2e092c0a2c0b2c0c3b093b0a3b0b3b0c
+0b200020012402280a280b2a132f142f152a16281e281f292029212427860a860b860c860d12
+000000010202060a060b030c030d030e030f03100319031a031b031c041d09272f293f295f29
+7f2980299029a029f029185d005d7101152e012322061514161f011e0115140623222627351e
+013332363534262f012e01353436333216038b4ea85a898962943fc4a5f7d85ac36c66c66182
+8c65ab40ab98e0ce66b4043fae282854544049210e2a99899cb62323be353559514b50250f24
+95829eac1e0000000002007bffe3042d047b000a002500bc4027191f0b17090e00a91706b90e
+1120861fba1cb923b8118c170c001703180d09080b1f030814452610fcecccd4ec3232113939
+31002fc4e4f4fcf4ec10c6ee10ee11391139123930406e301d301e301f3020302130223f2740
+1d401e401f402040214022501d501e501f50205021502250277027851d871e871f8720872185
+229027a027f0271e301e301f30203021401e401f40204021501e501f50205021601e601f6020
+6021701e701f70207021801e801f80208021185d015d0122061514163332363d01371123350e
+01232226353436332135342623220607353e0133321602bedfac816f99b9b8b83fbc88accbfd
+fb0102a79760b65465be5af3f00233667b6273d9b4294cfd81aa6661c1a2bdc0127f8b2e2eaa
+2727fc00000200bafe5604a4047b0010001c003e401b1ab9000e14b90508b80e8c01bd03bc1d
+11120b471704000802461d10fcec3232f4ec310010e4e4e4f4c4ec10c4ee304009601e801ea0
+1ee01e04015d2511231133153e013332001110022322260134262322061514163332360173b9
+b93ab17bcc00ffffcc7bb10238a79292a7a79292a7a8fdae060aaa6461febcfef8fef8febc61
+01ebcbe7e7cbcbe7e700000000020071ffe3047f047b0014001b007040240015010986088805
+15a90105b90c01bb18b912b80c8c1c1b1502081508004b02120f451c10fcecf4ecc411123931
+0010e4f4ece410ee10ee10f4ee1112393040293f1d701da01dd01df01d053f003f013f023f15
+3f1b052c072f082f092c0a6f006f016f026f156f1b095d71015d0115211e0133323637150e01
+232000111000333200072e0123220607047ffcb20ccdb76ac76263d06bfef4fec70129fce201
+07b802a5889ab90e025e5abec73434ae2a2c0138010a01130143feddc497b4ae9e0000010087
+ffe304a205f00027007e403c0d0c020e0b021e1f1e080902070a021f1f1e420a0b1e1f041501
+0015a11494189511049500942591118c281e0a0b1f1b0700221b190e2d071914222810dcc4ec
+fcece4111239393939310010e4f4e4ec10eef6ee10c6111739304b535807100eed1117390710
+0eed1117395922b20f2901015db61f292f294f29035d01152e012322061514161f011e011514
+0421222627351e013332363534262f012e01353424333216044873cc5fa5b377a67ae2d7fedd
+fee76aef807bec72adbc879a7be2ca0117f569da05a4c53736807663651f192bd9b6d9e0302f
+d04546887e6e7c1f182dc0abc6e42600000100c90000019305d50003002eb700af02011c0004
+0410fc4bb0105458b9000000403859ec31002fec3001400d30054005500560058f059f05065d
+13331123c9caca05d5fa2b0000010073ffe3058b05f0001d0039402000051b0195031b950812
+a111ae15950e91088c1e02001c1134043318190b101e10fcecfce4fcc4310010e4f4ecf4ec10
+fed4ee11393930251121352111060423200011100021320417152e0123200011100021323604
+c3feb6021275fee6a0fea2fe75018b015e9201076f70fc8bfeeefeed011301126ba8d50191a6
+fd7f53550199016d016e01994846d75f60fecefed1fed2fece25000000020081ffe305fe05f0
+0009003001cd40960d010e0c861112110b860a0b121211098600091516150701060886161615
+02010301861d1e1d008609001e1e1d201f02211e110a130a17161503181411130a0708020609
+1113130a0201020300110a130a171602181511130a141113130a42120b090306000a1e032815
+0e0628270695182b9527942491188c0e130a2e0b0e09002e1215270e1e032e1227210e110f13
+2103121b103110fcecc4d4d4ec10c6ee1139111239391139391139113931002fc6e4f6e6ee10
+ee10c6111239111739111739304b5358071005ed0705ed111739071005ed111739071005ed11
+17390705ed111739071005ed111739071008ed07100eed11173907100eed111739071008ed07
+1008ed07100eed1117395922b20f3201015d40b2070b052209291c001c011f02170b2a002a01
+26123a003412440b5e0059015a0a55125a1a5a1f5930671e7b009b009a0199029708950b9315
+95169522992d1f090b090c08110c270c2818021b09190b190c19111c141c15161d1f32270027
+01290923122a132a1428152f323b09341239133f324a094c144b1546194f3256015a09590c55
+1259135c1f5f326a0c691160327501790c7a1193009301970295059c079c089f089a099b0b9a
+0c9032a032b032395d005d010e011514163332363709013e0137330602070123270e01232200
+353436372e0135343633321617152e0123220615141601f25b55d4a05fa649fe7b01fc3b4206
+ba0c685d0117fc8f68e483f1fece86863032deb853a555579e4469833b032351a15892c23f40
+028ffdf859cb7284fefe7efee39359570113d780e1633f7d3ca2c52424b62f316f5833670002
+00c90000055405d50013001c00b14035090807030a0611030403051104040342060400150304
+15950914950d810b040506031109001c160e050a191904113f140a1c0c041d10fcec32fcc4ec
+1117391139393931002f3cf4ecd4ec123912391239304b5358071005ed071005ed1117395922
+b2401e01015d40427a1301050005010502060307041500150114021603170425002501250226
+032706260726082609201e3601360246014602680575047505771388068807980698071f5d00
+5d011e01171323032e012b01112311212016151406011133323635342623038d417b3ecdd9bf
+4a8b78dcca01c80100fc83fd89fe9295959202bc16907efe68017f9662fd8905d5d6d88dba02
+4ffdee87838385000001006401df027f028300030011b6009c020401000410dccc310010d4ec
+301321152164021bfde50283a40000020073ffe305d905f0000b00170023401306951200950c
+91128c1809190f33031915101810fcecfcec310010e4f4ec10ee300122001110003332001110
+002720001110002120001110000327dcfefd0103dcdc0101feffdc013a0178fe88fec6fec5fe
+870179054cfeb8fee5fee6feb80148011a011b0148a4fe5bfe9efe9ffe5b01a40162016201a5
+0000000200c90000048d05d500080013003a40180195100095098112100a0802040005190d3f
+11001c09041410fcec32fcec11173931002ff4ecd4ec30400b0f151f153f155f15af1505015d
+011133323635342623252132041514042b0111230193fe8d9a9a8dfe3801c8fb0101fefffbfe
+ca052ffdcf92878692a6e3dbdde2fda80001ffecfe1d0414feac0003000fb500a90100020410
+c4c43100d4ec30011521350414fbd8feac8f8f000000000100100000056805d5000600b74027
+04110506050311020306060503110403000100021101010042030401af000604030200050501
+0710d4c4173931002fec3239304b5358071005ed071008ed071008ed071005ed5922b2500801
+015d406200032a03470447055a037d038303070600070208040906150114021a041a052a0026
+01260229042905250620083800330133023c043c053706480045014502490449054706590056
+066602690469057a0076017602790479057506800898009706295d005d21013309013301024a
+fdc6d301d901dad2fdc705d5fb1704e9fa2b000100c90000061f05d5000c00bf403403110708
+070211010208080702110302090a0901110a0a09420a070203080300af080b05090803020105
+0a061c043e0a1c00040d10fcecfcec11173931002f3cc4ec32111739304b5358071005ed0710
+08ed071008ed071005ed5922b2700e01015d405603070f080f09020a15021407130a26022607
+2007260a200a3407350a69027c027b07790a80028207820a90021604010b0313011b0323012c
+032708280934013c035608590965086a097608790981018d0395019b03145d005d1321090121
+1123110123011123c9012d017d017f012dc5fe7fcbfe7fc405d5fc0803f8fa2b051ffc000400
+fae10000000100c90000042305d50009002940120695040295008104ad08050107031c00040a
+10fcec32d4c431002fecf4ec10ee30b20f0b01015d13211521112115211123c9035afd700250
+fdb0ca05d5aafe48aafd3700013500b800cb00cb00c100aa009c01a600b800660000007100cb
+00a002b20085007500b800c301cb0189022d00cb00a600f000d300aa008700cb03aa0400014a
+003300cb000000d9050200f4015400b4009c01390114013907060400044e04b4045204b804e7
+04cd0037047304cd04600473013303a2055605a60556053903c5021200c9001f00b801df0073
+00ba03e9033303bc0444040e00df03cd03aa00e503aa0404000000cb008f00a4007b00b80014
+016f007f027b0252008f00c705cd009a009a006f00cb00cd019e01d300f000ba018300d50098
+03040248009e01d500c100cb00f600830354027f00000333026600d300c700a400cd008f009a
+0073040005d5010a00fe022b00a400b4009c00000062009c0000001d032d05d505d505d505f0
+007f007b005400a406b80614072301d300b800cb00a601c301ec069300a000d3035c037103db
+0185042304a80448008f0139011401390360008f05d5019a0614072306660179046004600460
+047b009c00000277046001aa00e904600762007b00c5007f027b000000b4025205cd006600bc
+00660077061000cd013b01850389008f007b0000001d00cd074a042f009c009c0000077d006f
+0000006f0335006a006f007b00ae00b2002d0396008f027b00f600830354063705f6008f009c
+04e10266008f018d02f600cd03440029006604ee00730000140000960000b707060504030201
+002c2010b002254964b040515820c859212d2cb002254964b040515820c859212d2c20100720
+b00050b00d7920b8ffff5058041b0559b0051cb0032508b0042523e120b00050b00d7920b8ff
+ff5058041b0559b0051cb0032508e12d2c4b505820b0fd454459212d2cb002254560442d2c4b
+5358b00225b0022545445921212d2c45442d2cb00225b0022549b00525b005254960b0206368
+208a108a233a8a10653a2d00000100000002570af3b98c425f0f3cf5001f080000000000cef5
+cb7600000000cef5cb76f7d6fcae0d72095500000008000000010000000000010000076dfe1d
+00000de2f7d6fa510d7200010000000000000000000000000000002004cd0066057900100512
+00ba04660071051200ba04e50071034a00ba028b0000057d00c90596007307cb00ba023900c1
+0323003704e3fffa04bc003b050e00c9042b006f04e7007b051400ba04ec007105140087025c
+00c906330073063d0081058f00c902e30064064c007304d300c90400ffec0579001006e700c9
+049a00c9000000000000004400000140000001b800000250000002c80000036c000003dc0000
+03dc0000048c00000524000005e800000638000006b400000724000008a80000090800000a68
+00000b9400000c3400000d0800000e0000000e4800000ef0000011580000126c000012980000
+1324000013a4000013d0000014b0000015ac000016000001000000200354002b0068000c0002
+00100099000800000415021600080004b8028040fffbfe03fa1403f92503f83203f79603f60e
+03f5fe03f4fe03f32503f20e03f19603f02503ef8a4105effe03ee9603ed9603ecfa03ebfa03
+eafe03e93a03e84203e7fe03e63203e5e45305e59603e48a4105e45303e3e22f05e3fa03e22f
+03e1fe03e0fe03df3203de1403dd9603dcfe03db1203da7d03d9bb03d8fe03d68a4105d67d03
+d5d44705d57d03d44703d3d21b05d3fe03d21b03d1fe03d0fe03cffe03cefe03cd9603cccb1e
+05ccfe03cb1e03ca3203c9fe03c6851105c61c03c51603c4fe03c3fe03c2fe03c1fe03c0fe03
+bffe03befe03bdfe03bcfe03bbfe03ba1103b9862505b9fe03b8b7bb05b8fe03b7b65d05b7bb
+03b78004b6b52505b65d40ff03b64004b52503b4fe03b39603b2fe03b1fe03b0fe03affe03ae
+6403ad0e03acab2505ac6403abaa1205ab2503aa1203a98a4105a9fa03a8fe03a7fe03a6fe03
+a51203a4fe03a3a20e05a33203a20e03a16403a08a4105a096039ffe039e9d0c059efe039d0c
+039c9b19059c64039b9a10059b19039a1003990a0398fe0397960d0597fe03960d03958a4105
+95960394930e05942803930e0392fa039190bb0591fe03908f5d0590bb039080048f8e25058f
+5d038f40048e25038dfe038c8b2e058cfe038b2e038a8625058a410389880b05891403880b03
+878625058764038685110586250385110384fe038382110583fe0382110381fe0380fe037ffe
+0340ff7e7d7d057efe037d7d037c64037b5415057b25037afe0379fe03780e03770c03760a03
+75fe0374fa0373fa0372fa0371fa0370fe036ffe036efe036c21036bfe036a1142056a530369
+fe03687d036711420566fe0365fe0364fe0363fe0362fe03613a0360fa035e0c035dfe035bfe
+035afe0359580a0559fa03580a035716190557320356fe035554150555420354150353011005
+531803521403514a130551fe03500b034ffe034e4d10054efe034d10034cfe034b4a13054bfe
+034a4910054a1303491d0d05491003480d0347fe0346960345960344fe0343022d0543fa0342
+bb03414b0340fe033ffe033e3d12053e14033d3c0f053d12033c3b0d053c40ff0f033b0d033a
+fe0339fe033837140538fa033736100537140336350b05361003350b03341e03330d0332310b
+0532fe03310b03302f0b05300d032f0b032e2d09052e10032d09032c32032b2a25052b64032a
+2912052a25032912032827250528410327250326250b05260f03250b0324fe0323fe03220f03
+210110052112032064031ffa031e1d0d051e64031d0d031c1142051cfe031bfa031a42031911
+420519fe031864031716190517fe031601100516190315fe0314fe0313fe031211420512fe03
+11022d05114203107d030f64030efe030d0c16050dfe030c0110050c16030bfe030a100309fe
+0308022d0508fe030714030664030401100504fe03401503022d0503fe0302011005022d0301
+100300fe0301b80164858d012b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b002b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b1d00>
+] def
+/f-0-0 currentdict end definefont pop
+%%EndResource
+%%BeginResource: font DejaVuSans-Bold
+11 dict begin
+/FontType 42 def
+/FontName /DejaVuSans-Bold 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 79 /O put
+Encoding 82 /R put
+/CharStrings 3 dict dup begin
+/.notdef 0 def
+/O 1 def
+/R 2 def
+end readonly def
+/sfnts [
+<000100000009008000030010637674203eb9310800000268000002546670676d5b026bf00000
+04bc000000ac676c7966581f41560000009c000001cc68656164045e38fb0000056800000036
+686865610eaf0774000005a000000024686d747811c30188000005c40000000c6c6f63610000
+02f8000005d0000000106d6178700648062d000005e000000020707265707c61a2e700000600
+000007a700020066fe96046605a400030007001fbc00040126000000060126b6010805890204
+002fc4d4ec310010d4ecd4ec301311211125211121660400fc73031bfce5fe96070ef8f27206
+2900000000020066ffe3066605f0000b00170032401306ae1200ae0c9c129818092d0f37032d
+152b1810fcecfcec310010e4f4ec10ee30400b0019171310192f193f1905015d012202151412
+3332123534020320001110002120001110000366b0c2c2b0b1c2c2b101680198fe68fe98fe99
+fe67019904d9fefcecebfefc0104ebec01040117fe64fe95fe96fe64019c016a016b019c0000
+000200bc0000060005d50008001c008740321b1a021c191d161716181d1717162519160a1300
+ae0906ae0c8d170a16131803101c190600040d07031617100907160b031d10fcec32d4c4ec11
+39173911173931002f3cf4ecd4ec39123939304b5358071005ed071005ed1117395922b2181c
+01015d401f1b181b191a1a1b1b1a1c361536164515451656155616501e65156516601e0f5d01
+32363534262b0119022111212004151406071e01171321032e012302df79696979a2fe7f024c
+012701138f904f7d40d1fe66b637715e033f5a676658fe81fef6fdcb05d5c6d694be2d127f81
+fe5801737052000001660133016600bc00e90000013d00a200fa031f00020002006601660002
+000200ac015400ec00bc006201660181048501540166016d04a400020166007f04cd00000002
+0133006200710000002504a401bc00ba00e500660181018d0548055a0166016d000000000002
+000200f605c301f0053902390058046d043d04b2048104b2016601750466048100b004660439
+02d1049c047b04cf047b005801330166014c0166014c000200ac009a014a0123009a029a0144
+0119014402cd00c100000166013f019a013b05cb05cb00d500d5015000ac00ac0077020a01c7
+01f2012f015801b2012300f600f6011f012f0135023501ee01e70133009800d10358050a009a
+008f0112009800bc00cd00e500e500f2007304000166008f05d5022b05d500c300e100d700e5
+0000006a01020000001d032d05d505d505f000a8006a00ec00e1010205d506140721046602f8
+00ec018302a602f80123010201020112011f031f005e03cd046004c7048900ec01bc00ba0102
+0333031f03420333035c0112011f05d5019a009a00e106660179046004600460047b000000ec
+02c302b802cd00be00dd00d50000006a025c027b029a00dd01ae01ba01120000008501ae0460
+0762041b009a069a045800ee009a029a00d102cd019a015005cb05cb008b008b063100f60406
+00f0034c016004a800c10000002505c101000121074a06120096014a078300a800000337007b
+0014000000c9010005c105c105c105c101000108061d00960427039e00ec0102027d01330098
+00d10358017900cd02390362009c009c009c009301b8009300b80073000014000326b7070605
+04030201002c2010b002254964b040515820c859212d2cb002254964b040515820c859212d2c
+20100720b00050b00d7920b8ffff5058041b0559b0051cb0032508b0042523e120b00050b00d
+7920b8ffff5058041b0559b0051cb0032508e12d2c4b505820b80128454459212d2cb0022545
+60442d2c4b5358b00225b0022545445921212d2c45442d2cb00225b0022549b00525b0052549
+60b0206368208a108a233a8a10653a2d000100000002570aca280dd25f0f3cf5001f08000000
+0000cef5cb7000000000cef5cb70f772fcae0fcd096500010008000000010000000000010000
+076dfe1d00001021f772f9320fcd00010000000000000000000000000000000304cd006606cd
+0066062900bc000000000000004c000000e0000001cc000100000003034e002b0078000c0002
+001000400008000005ed02210008000441840280012600fe000301250011000301240121003a
+0005012400fa000301230016000301220121003a0005012200fe00030121003a0003012000fa
+0003011f00bb0003011e00640003011d00fe0003011c00190003011b001e0003011a00fe0003
+011900fe0003011800fe0003011700fe0003011600fe000301150114000e0005011500fe0003
+0114000e0003011300fe0003011200fe0003010f010e007d0005010f00fe0003010e007d0003
+010d010c008c0005010d00fe0003010d00c00004010c010b00590005010c008c0003010c0080
+0004010b010a00260005010b00590003010b00400004010a00260003010900fe0003010800fe
+00030107000c00030107008000040106b2972e054113010600fa0003010500fa0003010400fe
+0003010300190003010200fa0003010100fa0003010040ff7d03ff3e03fefe03fcfb2c05fcfe
+03fb2c03fafe03f9f84705f97d03f84703f7fa03f6fe03f5fe03f4fe03f3bb03f2fe03f1fe03
+f0fe03ef1e03eefe03edec0a05edfe03ec0a03ec4004ebea0a05eb3203ea0a03e9fa03e89116
+05e8fe03e7fa03e6fa03e5911605e5fe03e4fe03e3fe03e2fe03e1fe03e0fe03dffe03defa03
+dddc1805dd6403dc1803dba01e05db6403dad92505dafa03d92503d8d12505d8fa03d7d61405
+d71603d6d51005d61403d51003d4d30b05d42003d30b03d2d12505d2fa03d1911605d12503d0
+940c05d02303cfce1405cf2603cecd1205ce1403cd1203cc911605cc1d03cb1403cac9bb05ca
+fe03c9c85d05c9bb03c98004c840ffc72505c85d03c84004c72503c6fe03c56403c4901005c4
+fe03c31c03c2fe03c1fe03c0bf3a05c0fa03bfad1b05bf3a03bebd1a05be3203bdbc1105bd1a
+03bcbb0f05bc1103bbba0c05bb0f03ba0c03b9911605b9fe03b8fe03b71503b61203b5fe03b4
+fe03b3fe03b21703b11903b01603afad1b05affa03aead1b05aefa03ad911605ad1b03ac9116
+05ac7d03abfe03aa2603a9fe03a8fe03a7fe03a6fe03a50a03a4fe03a3a20e05a3fe03a20e03
+a24004a1a01e05a1fa03a0911605a01e039f9116059ffa039e940c059e1c039dfe039c9bbb05
+9cfe039b9a5d059bbb039b80049a8f25059a5d039a400499fe0398972e0598fe03972e039691
+1605961e40ff0395940c05952003940c0393911605934b039291160592fe0391901005911603
+9010038f25038efe038dfe038cfe038bfe038afe0389fe038887250588fe0387250386fe0385
+fe0384320383960382fe0381fe038019037f0a037efe037dfe037cfe037bfa037afa0379fe03
+7776a60577fe0376a60375741b0575fa03741b0373fa03727d0371fe03706f2c056f2c036efa
+036dfa036cfa036bfe036afe0369fe0368630c0568320367fe0366320365640a0565fe03640a
+0364400463620a05630c03620a0361601505619603600111056015035f0a035efe035dfe035c
+0111055cfe035b5a1b055bfe035a0111055a1b0359fe0358fa0357fe035601110540ff56fe03
+55fe03541e035314035251190552fa0351011105511903504f190550fa034f4e11054f19034e
+11034d1e034c4b14054c15034b4a11054b14034a490e054a1103490e0348fa03474614054715
+0346140345fa0344430e05440f03430e034241250542fa0341011105412503403f0f0540fe03
+3f3e0e053f0f033e0e033d3c0d053d16033c0d033b64033afe0339140338fe0337130336351a
+0536250335341405351a0335c004340a0d0534140334800433320c05331403334004320c0331
+30a60531fe033001110530a6032f0c032e13032d2c3a052dfa032c1525052c3a032b64032a64
+0329fe0328150327171105271e03262003251e0324231105402b241e0323110322000d0522fa
+03210f032140042014031f0a031e1e031d1c19051d25031c0f13051c19031cb801004091041b
+0d031a194b051a7d0319011105194b0318fe031711031615250516fa03150111051525031464
+0313110312fe031101110511fe031064030f0e10050f13030fc0040e10030e80040d0111050d
+fa030c32030b0a0d050b16030b80040a0d030a400409fe0308fe0307fe0306050a0506fe0305
+0a0305400404fa030364030201110502fe0301000d05011103000d0301b80164858d012b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b002b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b1d0000>
+] def
+/f-1-0 currentdict end definefont pop
+%%EndResource
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 7 -1 559 434
+%%EndPageSetup
+q 7 -1 552 435 rectclip q
+0 g
+BT
+17.6 0 0 17.6 130.590635 355.418671 Tm
+/f-0-0 1 Tf
+[(Anchor)-3( A)]TJ
+11.78352 -0.0324679 Td
+[(Anchor)-3( B)]TJ
+ET
+2.4 w
+1 J
+1 j
+[] 0.0 d
+4 M q 1 0 0 -1 0 433.896301 cm
+122.449 55.629 96 32.574 re S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+170.449 87.059 m 170.449 167.059 l S Q
+170.449 274.838 m 167.25 278.037 l 170.449 266.838 l 173.648 278.037 l
+h
+170.449 274.838 m f*
+0.8 w
+q 0 1 1 0 0 433.896301 cm
+-159.059 170.449 m -155.859 167.25 l -167.059 170.449 l -155.859 173.648
+ l h
+-159.059 170.449 m S Q
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+329.305 55.629 96 33.715 re S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+377.305 88.203 m 377.305 168.203 l S Q
+377.305 273.693 m 374.105 276.892 l 377.305 265.693 l 380.504 276.892 l
+ h
+377.305 273.693 m f*
+0.8 w
+q 0 1 1 0 0 433.896301 cm
+-160.203 377.305 m -157.004 374.105 l -168.203 377.305 l -157.004 380.504
+ l h
+-160.203 377.305 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+170.164 216.844 m 170.449 256.203 l 265.957 256.105 l 265.387 297.246 l
+ S Q
+265.496 144.65 m 262.344 147.892 l 265.387 136.65 l 268.742 147.803 l h
+265.496 144.65 m f*
+0.799923 w
+q 0.0138888 1 1 -0.0138888 0 433.896301 cm
+-285.504 269.461 m -282.306 266.265 l -293.504 269.463 l -282.307 272.663
+ l h
+-285.504 269.461 m S Q
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+137.555 351.727 96 80 re S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+89.879 15.629 m 138.449 52.773 l S Q
+132.094 385.982 m 127.609 385.385 l 138.449 381.123 l 131.496 390.467 l
+ h
+132.094 385.982 m f*
+0.635486 w
+q -1 0.764706 0.764706 1 0 433.896301 cm
+-106.472 33.506 m -103.931 30.965 l -112.827 33.506 l -103.931 36.047 l
+ h
+-106.472 33.506 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+201.879 8.773 m 194.449 53.918 l S Q
+195.746 387.873 m 193.109 391.553 l 194.449 379.978 l 199.426 390.513 l
+ h
+195.746 387.873 m f*
+0.789384 w
+q 0.164557 1 1 -0.164557 0 433.896301 cm
+-13.448 197.959 m -10.288 194.802 l -21.342 197.961 l -10.287 201.119 l
+ h
+-13.448 197.959 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+297.879 15.629 m 346.449 52.773 l S Q
+340.094 385.982 m 335.609 385.385 l 346.449 381.123 l 339.496 390.467 l
+ h
+340.094 385.982 m f*
+0.635486 w
+q -1 0.764706 0.764706 1 0 433.896301 cm
+-237.721 133.872 m -235.179 131.331 l -244.076 133.873 l -235.18 136.414
+ l h
+-237.721 133.872 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+457.305 16.203 m 409.305 54.488 l S Q
+415.559 384.396 m 416.066 388.892 l 409.305 379.408 l 420.059 383.892 l
+ h
+415.559 384.396 m f*
+0.625421 w
+q 1 0.797619 0.797619 -1 0 433.896301 cm
+229.848 232.831 m 232.35 230.331 l 223.594 232.831 l 232.353 235.333 l
+h
+229.848 232.831 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+418.449 0.203 m 387.02 53.918 l S Q
+391.059 386.885 m 389.914 391.263 l 387.02 379.978 l 395.438 388.029 l
+h
+391.059 386.885 m f*
+0.69049 w
+q 0.585107 1 1 -0.585107 0 433.896301 cm
+135.434 311.816 m 138.197 309.054 l 128.528 311.817 l 138.195 314.579 l
+ h
+135.434 311.816 m S Q
+BT
+17.6 0 0 17.6 150.69448 46.484589 Tm
+/f-0-0 1 Tf
+[(Commit)]TJ
+0.862305 -1.25 Td
+(Tx A)Tj
+ET
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+27.348 174.184 96 32.574 re S Q
+BT
+17.6 0 0 17.6 34.346965 238.578938 Tm
+/f-0-0 1 Tf
+[(Esca)-3(pe A)]TJ
+ET
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+250.605 310.918 m 178.293 310.348 l 178.293 350.348 l S Q
+178.293 91.549 m 175.094 94.752 l 178.293 83.549 l 181.492 94.752 l h
+178.293 91.549 m f*
+0.8 w
+q 0.0000002 1 1 -0.0000002 0 433.896301 cm
+-342.348 178.293 m -339.144 175.094 l -350.348 178.293 l -339.144 181.492
+ l h
+-342.348 178.293 m S Q
+BT
+12 0 0 12 142.310385 332.286029 Tm
+/f-0-0 1 Tf
+(SIGA & SIGB)Tj
+/f-1-0 1 Tf
+2.288086 -1.25 Td
+(OR)Tj
+/f-0-0 1 Tf
+-5.415039 -1.25 Td
+[(SIGA & SIGB & SEC)-3(RET)90(-)21(A)]TJ
+ET
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+427.684 171.355 96 32.57 re S Q
+BT
+17.6 0 0 17.6 434.682052 241.407364 Tm
+/f-0-0 1 Tf
+[(Esca)-3(pe B)]TJ
+ET
+q 1 0 0 -1 0 433.896301 cm
+315.172 352.695 96 80 re S Q
+BT
+17.6 0 0 17.6 328.310715 45.514032 Tm
+/f-0-0 1 Tf
+[(Commit)]TJ
+0.861328 -1.25 Td
+(Tx B)Tj
+ET
+q 1 0 0 -1 0 433.896301 cm
+297.879 319.629 m 297.879 332.887 287.133 343.629 273.879 343.629 c 260.621
+ 343.629 249.879 332.887 249.879 319.629 c 249.879 306.375 260.621 295.629
+ 273.879 295.629 c 287.133 295.629 297.879 306.375 297.879 319.629 c h
+297.879 319.629 m S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+273.879 295.629 m 273.879 343.629 l S Q
+q 1 0 0 -1 0 433.896301 cm
+249.879 319.629 m 297.879 319.629 l S Q
+q 1 0 0 -1 0 433.896301 cm
+250.605 326.918 m 194.293 326.918 l 194.293 350.348 l S Q
+194.293 91.549 m 191.094 94.752 l 194.293 83.549 l 197.492 94.752 l h
+194.293 91.549 m f*
+0.8 w
+q 0.000000341463 1 1 -0.000000341463 0 433.896301 cm
+-342.348 194.293 m -339.144 191.094 l -350.348 194.293 l -339.144 197.492
+ l h
+-342.348 194.293 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+296.574 310.918 m 368.883 310.348 l 368.887 350.348 l S Q
+368.887 91.549 m 365.684 94.752 l 368.887 83.549 l 372.086 94.752 l h
+368.887 91.549 m f*
+0.8 w
+q -0.0000002 1 1 0.0000002 0 433.896301 cm
+-342.348 368.887 m -339.145 365.684 l -350.348 368.887 l -339.145 372.086
+ l h
+-342.348 368.887 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+296.574 326.918 m 352.883 326.918 l 352.887 350.348 l S Q
+352.887 91.549 m 349.684 94.752 l 352.887 83.549 l 356.086 94.752 l h
+352.887 91.549 m f*
+0.8 w
+q -0.000000341463 1 1 0.000000341463 0 433.896301 cm
+-342.348 352.887 m -339.145 349.683 l -350.348 352.887 l -339.145 356.086
+ l h
+-342.348 352.887 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+377.742 218.223 m 377.789 256.203 l 281.711 255.531 l 281.711 297.816 l
+ S Q
+281.711 144.08 m 278.508 147.279 l 281.711 136.08 l 284.91 147.279 l h
+281.711 144.08 m f*
+0.8 w
+q 0.000000189189 1 1 -0.000000189189 0 433.896301 cm
+-289.816 281.711 m -286.617 278.508 l -297.816 281.711 l -286.617 284.91
+ l h
+-289.816 281.711 m S Q
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+193.879 191.387 m 193.879 204.641 183.133 215.387 169.879 215.387 c 156.621
+ 215.387 145.879 204.641 145.879 191.387 c 145.879 178.133 156.621 167.387
+ 169.879 167.387 c 183.133 167.387 193.879 178.133 193.879 191.387 c h
+193.879 191.387 m S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+169.879 167.387 m 169.879 215.387 l S Q
+q 1 0 0 -1 0 433.896301 cm
+145.879 191.387 m 193.879 191.387 l S Q
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+402.199 193.73 m 402.199 206.988 391.453 217.73 378.199 217.73 c 364.945
+ 217.73 354.199 206.988 354.199 193.73 c 354.199 180.477 364.945 169.73
+378.199 169.73 c 391.453 169.73 402.199 180.477 402.199 193.73 c h
+402.199 193.73 m S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+378.199 169.73 m 378.199 217.73 l S Q
+q 1 0 0 -1 0 433.896301 cm
+354.199 193.73 m 402.199 193.73 l S Q
+BT
+12 0 0 12 154.199851 68.649481 Tm
+/f-0-0 1 Tf
+(SIG A & B)Tj
+14.845178 -0.134686 Td
+[(SIG A &)-319(B)]TJ
+ET
+q 1 0 0 -1 0 433.896301 cm
+145.879 191.629 m 125.879 191.629 l S Q
+133.879 242.267 m 137.078 245.467 l 125.879 242.267 l 137.078 239.064 l
+ h
+133.879 242.267 m f*
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+133.879 191.629 m 137.078 188.43 l 125.879 191.629 l 137.078 194.832 l
+h
+133.879 191.629 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+403.652 190.984 m 423.652 190.984 l S Q
+415.652 242.912 m 412.453 239.713 l 423.652 242.912 l 412.453 246.115 l
+ h
+415.652 242.912 m f*
+0.8 w
+q -1 0 0 1 0 433.896301 cm
+-415.652 -190.984 m -412.453 -194.184 l -423.652 -190.984 l -412.453 -187.781
+ l h
+-415.652 -190.984 m S Q
+BT
+12 0 0 12 46.933432 206.540155 Tm
+/f-0-0 1 Tf
+[(OP_CSV & SIGA)]TJ
+/f-1-0 1 Tf
+3.046875 -1.25 Td
+(OR)Tj
+/f-0-0 1 Tf
+-3.569336 -1.25 Td
+[(RIMA)17(GE-)20(A & SIGB)]TJ
+-2.377081 7.679162 Td
+[(SIGA & SIGB & SEC)-3(RET)90(-)21(A)]TJ
+32.565481 0.100846 Td
+[(SIGA & SIGB & SEC)-3(RET)90(-)35(B)]TJ
+-4.384188 5.279695 Td
+(SIGA & SIGB)Tj
+/f-1-0 1 Tf
+2.288086 -1.25 Td
+(OR)Tj
+/f-0-0 1 Tf
+-5.40918 -1.25 Td
+[(SIGA & SIGB & SEC)-3(RET)90(-)35(B)]TJ
+ET
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+73.477 207.059 m 73.477 252.309 l S Q
+73.477 189.588 m 70.277 192.787 l 73.477 181.588 l 76.68 192.787 l h
+73.477 189.588 m f*
+0.8 w
+q 0 1 1 0 0 433.896301 cm
+-244.309 73.477 m -241.109 70.277 l -252.309 73.477 l -241.109 76.68 l
+h
+-244.309 73.477 m S Q
+BT
+12 0 0 12 447.973532 208.481293 Tm
+/f-0-0 1 Tf
+[(OP_CSV & SIGB)]TJ
+/f-1-0 1 Tf
+3.047852 -1.25 Td
+(OR)Tj
+/f-0-0 1 Tf
+-3.5625 -1.25 Td
+[(RIMA)17(GE-)33(B & SIGA)]TJ
+ET
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+474.531 205.117 m 474.531 250.367 l S Q
+474.531 191.529 m 471.328 194.728 l 474.531 183.529 l 477.73 194.728 l
+h
+474.531 191.529 m f*
+0.8 w
+q 0 1 1 0 0 433.896301 cm
+-242.367 474.531 m -239.168 471.328 l -250.367 474.531 l -239.168 477.73
+ l h
+-242.367 474.531 m S Q
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+21.852 300.488 96 32.57 re S Q
+BT
+17.6 0 0 17.6 26.110689 110.562123 Tm
+/f-0-0 1 Tf
+[(F)91(ast E)-3(sc A)]TJ
+ET
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+153.312 208.836 m 153.012 311.469 l 120.383 311.469 l S Q
+128.383 122.428 m 131.582 125.627 l 120.383 122.428 l 131.582 119.228 l
+ h
+128.383 122.428 m f*
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+128.383 311.469 m 131.582 308.27 l 120.383 311.469 l 131.582 314.668 l
+h
+128.383 311.469 m S Q
+BT
+12 0 0 12 29.305466 79.429511 Tm
+/f-0-0 1 Tf
+[(OP_CSV & SIGB)]TJ
+/f-1-0 1 Tf
+3.047852 -1.25 Td
+(OR)Tj
+/f-0-0 1 Tf
+-3.505859 -1.25 Td
+[(SECRE)-3(T)91(-)35(B & SIGA)]TJ
+-1.430404 7.746507 Td
+[(SIGA & SIGB & SEC)-3(RET)90(-)21(A)]TJ
+ET
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+67.984 333.363 m 67.984 378.613 l S Q
+67.984 63.283 m 64.785 66.482 l 67.984 55.283 l 71.184 66.482 l h
+67.984 63.283 m f*
+0.8 w
+q 0 1 1 0 0 433.896301 cm
+-370.613 67.984 m -367.414 64.785 l -378.613 67.984 l -367.414 71.184 l
+ h
+-370.613 67.984 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+394.812 209 m 395.113 311.629 l 427.742 311.629 l S Q
+419.742 122.267 m 416.539 119.064 l 427.742 122.267 l 416.539 125.467 l
+ h
+419.742 122.267 m f*
+0.8 w
+q -1 0 0 1 0 433.896301 cm
+-419.742 -311.629 m -416.539 -314.832 l -427.742 -311.629 l -416.539 -308.43
+ l h
+-419.742 -311.629 m S Q
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+428.723 295.395 96 32.57 re S Q
+BT
+17.6 0 0 17.6 432.135626 115.925215 Tm
+/f-0-0 1 Tf
+[(F)91(ast E)-3(sc B)]TJ
+12 0 0 12 436.188279 84.521894 Tm
+[(OP_CSV & SIGA)]TJ
+/f-1-0 1 Tf
+3.046875 -1.25 Td
+(OR)Tj
+/f-0-0 1 Tf
+-3.512695 -1.25 Td
+[(SECRE)-3(T)91(-)21(A & SIGB)]TJ
+-1.69294 7.746507 Td
+[(SIGA & SIGB & SEC)-3(RET)90(-)35(B)]TJ
+ET
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+474.855 328.27 m 474.855 373.52 l S Q
+474.855 68.377 m 471.656 71.576 l 474.855 60.377 l 478.055 71.576 l h
+474.855 68.377 m f*
+0.8 w
+q 0 1 1 0 0 433.896301 cm
+-365.52 474.855 m -362.32 471.656 l -373.52 474.855 l -362.32 478.055 l
+ h
+-365.52 474.855 m S Q
+Q Q
+showpage
+%%Trailer
+end restore
+%%EOF
diff --git a/doc/dual-anchor-final.svg b/doc/dual-anchor-final.svg
new file mode 100644
index 000000000..94e23cb8e
--- /dev/null
+++ b/doc/dual-anchor-final.svg
@@ -0,0 +1,1027 @@
+
+
+
+
diff --git a/doc/dual-anchor-take2.svg b/doc/dual-anchor-take2.svg
new file mode 100644
index 000000000..4a43738d5
--- /dev/null
+++ b/doc/dual-anchor-take2.svg
@@ -0,0 +1,847 @@
+
+
+
+
diff --git a/doc/dual-anchor.svg b/doc/dual-anchor.svg
new file mode 100644
index 000000000..1786f28c4
--- /dev/null
+++ b/doc/dual-anchor.svg
@@ -0,0 +1,592 @@
+
+
+
+
diff --git a/doc/htlc.eps b/doc/htlc.eps
new file mode 100644
index 000000000..26be05fa8
--- /dev/null
+++ b/doc/htlc.eps
@@ -0,0 +1,667 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.14.2 (http://cairographics.org)
+%%CreationDate: Fri Jul 17 17:07:14 2015
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%BoundingBox: 75 69 475 425
+%%EndComments
+%%BeginProlog
+save
+50 dict 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
+%%BeginSetup
+%%BeginResource: font DejaVuSans
+11 dict begin
+/FontType 42 def
+/FontName /DejaVuSans 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 32 /space put
+Encoding 38 /ampersand put
+Encoding 45 /hyphen put
+Encoding 65 /A put
+Encoding 66 /B put
+Encoding 67 /C put
+Encoding 69 /E put
+Encoding 71 /G put
+Encoding 72 /H put
+Encoding 73 /I put
+Encoding 76 /L put
+Encoding 77 /M put
+Encoding 78 /N put
+Encoding 79 /O put
+Encoding 80 /P put
+Encoding 82 /R put
+Encoding 83 /S put
+Encoding 84 /T put
+Encoding 85 /U put
+Encoding 86 /V put
+Encoding 89 /Y put
+Encoding 95 /underscore put
+Encoding 105 /i put
+Encoding 109 /m put
+Encoding 111 /o put
+Encoding 116 /t put
+Encoding 120 /x put
+/CharStrings 28 dict dup begin
+/.notdef 0 def
+/C 1 def
+/o 2 def
+/m 3 def
+/i 4 def
+/t 5 def
+/T 6 def
+/x 7 def
+/space 8 def
+/A 9 def
+/B 10 def
+/S 11 def
+/I 12 def
+/G 13 def
+/ampersand 14 def
+/R 15 def
+/E 16 def
+/V 17 def
+/O 18 def
+/N 19 def
+/hyphen 20 def
+/P 21 def
+/underscore 22 def
+/L 23 def
+/U 24 def
+/Y 25 def
+/H 26 def
+/M 27 def
+end readonly def
+/sfnts [
+<0001000000090080000300106376742000691d39000012e0000001fe6670676d7134766a0000
+14e0000000ab676c7966144ea5060000009c0000124468656164026638f70000158c00000036
+686865610cb8066d000015c400000024686d74788ba40d4e000015e8000000706c6f63610001
+0bc000001658000000746d61787004890671000016cc00000020707265703b07f100000016ec
+0000056800020066fe96046605a400030007001a400c04fb0006fb0108057f0204002fc4d4ec
+310010d4ecd4ec301311211125211121660400fc73031bfce5fe96070ef8f272062900010073
+ffe3052705f000190036401a0da10eae0a951101a100ae04951791118c1a07190d003014101a
+10fcec32ec310010e4f4ecf4ec10eef6ee30b40f1b1f1b02015d01152e012320001110002132
+3637150e01232000111000213216052766e782ff00fef00110010082e7666aed84feadfe7a01
+86015386ed0562d55f5efec7fed8fed9fec75e5fd34848019f01670168019f47000000020071
+ffe30475047b000b0017004a401306b91200b90cb8128c1809120f51031215451810fcecf4ec
+310010e4f4ec10ee3040233f197b007b067f077f087f097f0a7f0b7b0c7f0d7f0e7f0f7f107f
+117b12a019f01911015d012206151416333236353426273200111000232200111000027394ac
+ab9593acac93f00112feeef0f1feef011103dfe7c9c9e7e8c8c7e99cfec8feecfeedfec70139
+0113011401380000000100ba0000071d047b0022005a4026061209180f00061d07150c871d20
+03b81bbc19100700110f0808065011080f501c18081a462310fcec32fcfcfcec11123931002f
+3c3ce4f43cc4ec32111217393040133024502470249024a024a024bf24df24ff2409015d013e
+013332161511231134262322061511231134262322061511231133153e01333216042945c082
+afbeb972758fa6b972778da6b9b93fb0797aab03897c76f5e2fd5c029ea19cbea4fd87029ea2
+9bbfa3fd870460ae67627c000000000200c100000179061400030007002b400e06be04b100bc
+020501080400460810fc3cec3231002fe4fcec30400b1009400950096009700905015d133311
+2311331523c1b8b8b8b80460fba00614e90000010037000002f2059e0013003840190e05080f
+03a9001101bc08870a0b08090204000810120e461410fc3cc4fc3cc432393931002fecf43cc4
+ec3211393930b2af1501015d01112115211114163b01152322263511233533110177017bfe85
+4b73bdbdd5a28787059efec28ffda0894e9a9fd202608f013e0000000001fffa000004e905d5
+0007004a400e0602950081040140031c0040050810d4e4fce431002ff4ec3230014bb00a5458
+bd00080040000100080008ffc03811373859401300091f00100110021f071009400970099f09
+095d03211521112311210604effdeecbfdee05d5aafad5052b000001003b000004790460000b
+014340460511060706041103040707060411050401020103110202010b110001000a11090a01
+01000a110b0a0708070911080807420a070401040800bf05020a0704010408000208060c10d4
+4bb00a544bb00f545b4bb010545b4bb011545b58b90006004038594bb0145458b90006ffc038
+59c4d4c411173931002f3cec321739304b5358071005ed071008ed071008ed071005ed071005
+ed071008ed071008ed071005ed59220140980a04040a1a04150a260a3d04310a55045707580a
+660a76017a047607740a8d04820a99049f049707920a900aa601a904af04a507a30aa00a1c0a
+03040505090a0b1a03150515091a0b2903260525092a0b200d3a013903370534073609390b30
+0d4903460545094a0b400d590056015902590357055606590756085609590b500d6f0d78017f
+0d9b019407ab01a407b00dcf0ddf0dff0d2f5d005d09022309012309013309010464fe6b01aa
+d9febafebad901b3fe72d9012901290460fddffdc101b8fe48024a0216fe71018f0000020010
+0000056805d50002000a00c2404100110100040504021105050401110a030a0011020003030a
+0711050406110505040911030a08110a030a4200030795010381090509080706040302010009
+050a0b10d4c4173931002f3ce4d4ec1239304b5358071005ed0705ed071005ed0705ed071008
+ed071005ed071005ed071008ed5922b2200c01015d40420f010f020f070f080f005800760070
+008c000907010802060309041601190256015802500c67016802780176027c03720477077808
+87018802800c980299039604175d005d090121013301230321032302bcfeee0225fe7be50239
+d288fd5f88d5050efd1903aefa2b017ffe810000000300c9000004ec05d50008001100200043
+40231900950a0995128101950aad1f110b080213191f05000e1c1605191c2e09001c12042110
+fcec32fcecd4ec111739393931002fececf4ec10ee3930b20f2201015d011121323635342623
+01112132363534262325213216151406071e01151404232101930144a39d9da3febc012b9491
+9194fe0b0204e7fa807c95a5fef0fbfde802c9fddd878b8c850266fe3e6f727170a6c0b189a2
+1420cb98c8da00010087ffe304a205f00027007e403c0d0c020e0b021e1f1e080902070a021f
+1f1e420a0b1e1f0415010015a11494189511049500942591118c281e0a0b1f1b0700221b190e
+2d071914222810dcc4ecfcece4111239393939310010e4f4e4ec10eef6ee10c6111739304b53
+5807100eed11173907100eed1117395922b20f2901015db61f292f294f29035d01152e012322
+061514161f011e0115140421222627351e013332363534262f012e01353424333216044873cc
+5fa5b377a67ae2d7feddfee76aef807bec72adbc879a7be2ca0117f569da05a4c53736807663
+651f192bd9b6d9e0302fd04546887e6e7c1f182dc0abc6e42600000100c90000019305d50003
+002eb700af02011c00040410fc4bb0105458b9000000403859ec31002fec3001400d30054005
+500560058f059f05065d13331123c9caca05d5fa2b0000010073ffe3058b05f0001d00394020
+00051b0195031b950812a111ae15950e91088c1e02001c1134043318190b101e10fcecfce4fc
+c4310010e4f4ecf4ec10fed4ee11393930251121352111060423200011100021320417152e01
+23200011100021323604c3feb6021275fee6a0fea2fe75018b015e9201076f70fc8bfeeefeed
+011301126ba8d50191a6fd7f53550199016d016e01994846d75f60fecefed1fed2fece250000
+00020081ffe305fe05f00009003001cd40960d010e0c861112110b860a0b1212110986000915
+1615070106088616161502010301861d1e1d008609001e1e1d201f02211e110a130a17161503
+181411130a07080206091113130a0201020300110a130a171602181511130a141113130a4212
+0b090306000a1e0328150e0628270695182b9527942491188c0e130a2e0b0e09002e1215270e
+1e032e1227210e110f132103121b103110fcecc4d4d4ec10c6ee113911123939113939113911
+3931002fc6e4f6e6ee10ee10c6111239111739111739304b5358071005ed0705ed1117390710
+05ed111739071005ed1117390705ed111739071005ed111739071008ed07100eed1117390710
+0eed111739071008ed071008ed07100eed1117395922b20f3201015d40b2070b052209291c00
+1c011f02170b2a002a0126123a003412440b5e0059015a0a55125a1a5a1f5930671e7b009b00
+9a0199029708950b931595169522992d1f090b090c08110c270c2818021b09190b190c19111c
+141c15161d1f3227002701290923122a132a1428152f323b09341239133f324a094c144b1546
+194f3256015a09590c551259135c1f5f326a0c691160327501790c7a1193009301970295059c
+079c089f089a099b0b9a0c9032a032b032395d005d010e011514163332363709013e01373306
+02070123270e01232200353436372e0135343633321617152e0123220615141601f25b55d4a0
+5fa649fe7b01fc3b4206ba0c685d0117fc8f68e483f1fece86863032deb853a555579e446983
+3b032351a15892c23f40028ffdf859cb7284fefe7efee39359570113d780e1633f7d3ca2c524
+24b62f316f583367000200c90000055405d50013001c00b14035090807030a06110304030511
+0404034206040015030415950914950d810b040506031109001c160e050a191904113f140a1c
+0c041d10fcec32fcc4ec1117391139393931002f3cf4ecd4ec123912391239304b5358071005
+ed071005ed1117395922b2401e01015d40427a13010500050105020603070415001501140216
+03170425002501250226032706260726082609201e3601360246014602680575047505771388
+068807980698071f5d005d011e01171323032e012b0111231121201615140601113332363534
+2623038d417b3ecdd9bf4a8b78dcca01c80100fc83fd89fe9295959202bc16907efe68017f96
+62fd8905d5d6d88dba024ffdee8783838500000100c90000048b05d5000b002e401506950402
+950081089504ad0a05010907031c00040c10fcec32d4c4c431002fececf4ec10ee30b21f0d01
+015d132115211121152111211521c903b0fd1a02c7fd3902f8fc3e05d5aafe46aafde3aa0000
+000100100000056805d5000600b7402704110506050311020306060503110403000100021101
+010042030401af0006040302000505010710d4c4173931002fec3239304b5358071005ed0710
+08ed071008ed071005ed5922b2500801015d406200032a03470447055a037d03830307060007
+0208040906150114021a041a052a002601260229042905250620083800330133023c043c0537
+06480045014502490449054706590056066602690469057a0076017602790479057506800898
+009706295d005d21013309013301024afdc6d301d901dad2fdc705d5fb1704e9fa2b00020073
+ffe305d905f0000b00170023401306951200950c91128c1809190f33031915101810fcecfcec
+310010e4f4ec10ee300122001110003332001110002720001110002120001110000327dcfefd
+0103dcdc0101feffdc013a0178fe88fec6fec5fe870179054cfeb8fee5fee6feb80148011a01
+1b0148a4fe5bfe9efe9ffe5b01a40162016201a50000000100c90000053305d500090079401e
+071101020102110607064207020300af0805060107021c0436071c00040a10fcecfcec113939
+31002f3cec323939304b5358071004ed071004ed5922b21f0b01015d40303602380748024707
+690266078002070601090615011a06460149065701580665016906790685018a0695019a069f
+0b105d005d13210111331121011123c901100296c4fef0fd6ac405d5fb1f04e1fa2b04e1fb1f
+0001006401df027f028300030011b6009c020401000410dccc310010d4ec301321152164021b
+fde50283a400000200c90000048d05d500080013003a40180195100095098112100a08020400
+05190d3f11001c09041410fcec32fcec11173931002ff4ecd4ec30400b0f151f153f155f15af
+1505015d011133323635342623252132041514042b0111230193fe8d9a9a8dfe3801c8fb0101
+fefffbfeca052ffdcf92878692a6e3dbdde2fda80001ffecfe1d0414feac0003000fb500a901
+00020410c4c43100d4ec30011521350414fbd8feac8f8f000000000100c90000046a05d50005
+0025400c0295008104011c033a00040610fcecec31002fe4ec30400930075007800380040401
+5d133311211521c9ca02d7fc5f05d5fad5aa000100b2ffe3052905d50011004040160802110b
+0005950e8c09008112081c0a38011c00411210fc4bb0105458b90000ffc03859ecfcec310010
+e432f4ec11393939393001b61f138f139f13035d133311141633323635113311100021200011
+b2cbaec3c2aecbfedffee6fee5fedf05d5fc75f0d3d3f0038bfc5cfedcfed6012a0124000001
+fffc000004e705d5000800944028031104050402110102050504021103020800080111000008
+42020300af0602070440051c0040070910d4e4fce4123931002fec3239304b5358071005ed07
+1008ed071008ed071005ed5922b2000a01015d403c0502140235023002300530084602400240
+0540085102510551086502840293021016011a031f0a2601290337013803400a670168037803
+700a9f0a0d5d005d03330901330111231104d9019e019bd9fdf0cb05d5fd9a0266fcf2fd3902
+c7000000000100c90000053b05d5000b002c4014089502ad0400810a0607031c053809011c00
+040c10fcec32fcec3231002f3ce432fcec30b2500d01015d133311211133112311211123c9ca
+02decacafd22ca05d5fd9c0264fa2b02c7fd3900000100c90000061f05d5000c00bf40340311
+0708070211010208080702110302090a0901110a0a09420a070203080300af080b0509080302
+01050a061c043e0a1c00040d10fcecfcec11173931002f3cc4ec32111739304b5358071005ed
+071008ed071008ed071005ed5922b2700e01015d405603070f080f09020a15021407130a2602
+26072007260a200a3407350a69027c027b07790a80028207820a90021604010b0313011b0323
+012c032708280934013c035608590965086a097608790981018d0395019b03145d005d132109
+01211123110123011123c9012d017d017f012dc5fe7fcbfe7fc405d5fc0803f8fa2b051ffc00
+0400fae10000013500b800cb00cb00c100aa009c01a600b800660000007100cb00a002b20085
+007500b800c301cb0189022d00cb00a600f000d300aa008700cb03aa0400014a003300cb0000
+00d9050200f4015400b4009c01390114013907060400044e04b4045204b804e704cd00370473
+04cd04600473013303a2055605a60556053903c5021200c9001f00b801df007300ba03e90333
+03bc0444040e00df03cd03aa00e503aa0404000000cb008f00a4007b00b80014016f007f027b
+0252008f00c705cd009a009a006f00cb00cd019e01d300f000ba018300d5009803040248009e
+01d500c100cb00f600830354027f00000333026600d300c700a400cd008f009a0073040005d5
+010a00fe022b00a400b4009c00000062009c0000001d032d05d505d505d505f0007f007b0054
+00a406b80614072301d300b800cb00a601c301ec069300a000d3035c037103db0185042304a8
+0448008f0139011401390360008f05d5019a0614072306660179046004600460047b009c0000
+0277046001aa00e904600762007b00c5007f027b000000b4025205cd006600bc006600770610
+00cd013b01850389008f007b0000001d00cd074a042f009c009c0000077d006f0000006f0335
+006a006f007b00ae00b2002d0396008f027b00f600830354063705f6008f009c04e10266008f
+018d02f600cd03440029006604ee00730000140000960000b707060504030201002c2010b002
+254964b040515820c859212d2cb002254964b040515820c859212d2c20100720b00050b00d79
+20b8ffff5058041b0559b0051cb0032508b0042523e120b00050b00d7920b8ffff5058041b05
+59b0051cb0032508e12d2c4b505820b0fd454459212d2cb002254560442d2c4b5358b00225b0
+022545445921212d2c45442d2cb00225b0022549b00525b005254960b0206368208a108a233a
+8a10653a2d00000100000002570a3c50034a5f0f3cf5001f080000000000cef5cb7600000000
+cef5cb76f7d6fcae0d72095500000008000000010000000000010000076dfe1d00000de2f7d6
+fa510d7200010000000000000000000000000000001c04cd00660596007304e5007107cb00ba
+023900c10323003704e3fffa04bc003b028b000005790010057d00c905140087025c00c90633
+0073063d0081058f00c9050e00c905790010064c007305fc00c902e3006404d300c90400ffec
+047500c905db00b204e3fffc060400c906e700c90000000000000044000000dc000001800000
+0244000002940000031000000380000005040000050400000600000006b0000007a8000007f0
+0000089800000b0000000c1400000c7400000d5400000de000000e8800000eb400000f340000
+0f6000000fa400001028000010ec000011480000124400010000001c0354002b0068000c0002
+00100099000800000415021600080004b8028040fffbfe03fa1403f92503f83203f79603f60e
+03f5fe03f4fe03f32503f20e03f19603f02503ef8a4105effe03ee9603ed9603ecfa03ebfa03
+eafe03e93a03e84203e7fe03e63203e5e45305e59603e48a4105e45303e3e22f05e3fa03e22f
+03e1fe03e0fe03df3203de1403dd9603dcfe03db1203da7d03d9bb03d8fe03d68a4105d67d03
+d5d44705d57d03d44703d3d21b05d3fe03d21b03d1fe03d0fe03cffe03cefe03cd9603cccb1e
+05ccfe03cb1e03ca3203c9fe03c6851105c61c03c51603c4fe03c3fe03c2fe03c1fe03c0fe03
+bffe03befe03bdfe03bcfe03bbfe03ba1103b9862505b9fe03b8b7bb05b8fe03b7b65d05b7bb
+03b78004b6b52505b65d40ff03b64004b52503b4fe03b39603b2fe03b1fe03b0fe03affe03ae
+6403ad0e03acab2505ac6403abaa1205ab2503aa1203a98a4105a9fa03a8fe03a7fe03a6fe03
+a51203a4fe03a3a20e05a33203a20e03a16403a08a4105a096039ffe039e9d0c059efe039d0c
+039c9b19059c64039b9a10059b19039a1003990a0398fe0397960d0597fe03960d03958a4105
+95960394930e05942803930e0392fa039190bb0591fe03908f5d0590bb039080048f8e25058f
+5d038f40048e25038dfe038c8b2e058cfe038b2e038a8625058a410389880b05891403880b03
+878625058764038685110586250385110384fe038382110583fe0382110381fe0380fe037ffe
+0340ff7e7d7d057efe037d7d037c64037b5415057b25037afe0379fe03780e03770c03760a03
+75fe0374fa0373fa0372fa0371fa0370fe036ffe036efe036c21036bfe036a1142056a530369
+fe03687d036711420566fe0365fe0364fe0363fe0362fe03613a0360fa035e0c035dfe035bfe
+035afe0359580a0559fa03580a035716190557320356fe035554150555420354150353011005
+531803521403514a130551fe03500b034ffe034e4d10054efe034d10034cfe034b4a13054bfe
+034a4910054a1303491d0d05491003480d0347fe0346960345960344fe0343022d0543fa0342
+bb03414b0340fe033ffe033e3d12053e14033d3c0f053d12033c3b0d053c40ff0f033b0d033a
+fe0339fe033837140538fa033736100537140336350b05361003350b03341e03330d0332310b
+0532fe03310b03302f0b05300d032f0b032e2d09052e10032d09032c32032b2a25052b64032a
+2912052a25032912032827250528410327250326250b05260f03250b0324fe0323fe03220f03
+210110052112032064031ffa031e1d0d051e64031d0d031c1142051cfe031bfa031a42031911
+420519fe031864031716190517fe031601100516190315fe0314fe0313fe031211420512fe03
+11022d05114203107d030f64030efe030d0c16050dfe030c0110050c16030bfe030a100309fe
+0308022d0508fe030714030664030401100504fe03401503022d0503fe0302011005022d0301
+100300fe0301b80164858d012b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b002b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b1d00>
+] def
+/f-0-0 currentdict end definefont pop
+%%EndResource
+%%BeginResource: font DejaVuSans-Bold
+11 dict begin
+/FontType 42 def
+/FontName /DejaVuSans-Bold 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 79 /O put
+Encoding 82 /R put
+/CharStrings 3 dict dup begin
+/.notdef 0 def
+/O 1 def
+/R 2 def
+end readonly def
+/sfnts [
+<000100000009008000030010637674203eb9310800000268000002546670676d5b026bf00000
+04bc000000ac676c7966581f41560000009c000001cc68656164045e38fb0000056800000036
+686865610eaf0774000005a000000024686d747811c30188000005c40000000c6c6f63610000
+02f8000005d0000000106d6178700648062d000005e000000020707265707c61a2e700000600
+000007a700020066fe96046605a400030007001fbc00040126000000060126b6010805890204
+002fc4d4ec310010d4ecd4ec301311211125211121660400fc73031bfce5fe96070ef8f27206
+2900000000020066ffe3066605f0000b00170032401306ae1200ae0c9c129818092d0f37032d
+152b1810fcecfcec310010e4f4ec10ee30400b0019171310192f193f1905015d012202151412
+3332123534020320001110002120001110000366b0c2c2b0b1c2c2b101680198fe68fe98fe99
+fe67019904d9fefcecebfefc0104ebec01040117fe64fe95fe96fe64019c016a016b019c0000
+000200bc0000060005d50008001c008740321b1a021c191d161716181d1717162519160a1300
+ae0906ae0c8d170a16131803101c190600040d07031617100907160b031d10fcec32d4c4ec11
+39173911173931002f3cf4ecd4ec39123939304b5358071005ed071005ed1117395922b2181c
+01015d401f1b181b191a1a1b1b1a1c361536164515451656155616501e65156516601e0f5d01
+32363534262b0119022111212004151406071e01171321032e012302df79696979a2fe7f024c
+012701138f904f7d40d1fe66b637715e033f5a676658fe81fef6fdcb05d5c6d694be2d127f81
+fe5801737052000001660133016600bc00e90000013d00a200fa031f00020002006601660002
+000200ac015400ec00bc006201660181048501540166016d04a400020166007f04cd00000002
+0133006200710000002504a401bc00ba00e500660181018d0548055a0166016d000000000002
+000200f605c301f0053902390058046d043d04b2048104b2016601750466048100b004660439
+02d1049c047b04cf047b005801330166014c0166014c000200ac009a014a0123009a029a0144
+0119014402cd00c100000166013f019a013b05cb05cb00d500d5015000ac00ac0077020a01c7
+01f2012f015801b2012300f600f6011f012f0135023501ee01e70133009800d10358050a009a
+008f0112009800bc00cd00e500e500f2007304000166008f05d5022b05d500c300e100d700e5
+0000006a01020000001d032d05d505d505f000a8006a00ec00e1010205d506140721046602f8
+00ec018302a602f80123010201020112011f031f005e03cd046004c7048900ec01bc00ba0102
+0333031f03420333035c0112011f05d5019a009a00e106660179046004600460047b000000ec
+02c302b802cd00be00dd00d50000006a025c027b029a00dd01ae01ba01120000008501ae0460
+0762041b009a069a045800ee009a029a00d102cd019a015005cb05cb008b008b063100f60406
+00f0034c016004a800c10000002505c101000121074a06120096014a078300a800000337007b
+0014000000c9010005c105c105c105c101000108061d00960427039e00ec0102027d01330098
+00d10358017900cd02390362009c009c009c009301b8009300b80073000014000326b7070605
+04030201002c2010b002254964b040515820c859212d2cb002254964b040515820c859212d2c
+20100720b00050b00d7920b8ffff5058041b0559b0051cb0032508b0042523e120b00050b00d
+7920b8ffff5058041b0559b0051cb0032508e12d2c4b505820b80128454459212d2cb0022545
+60442d2c4b5358b00225b0022545445921212d2c45442d2cb00225b0022549b00525b0052549
+60b0206368208a108a233a8a10653a2d000100000002570aca280dd25f0f3cf5001f08000000
+0000cef5cb7000000000cef5cb70f772fcae0fcd096500010008000000010000000000010000
+076dfe1d00001021f772f9320fcd00010000000000000000000000000000000304cd006606cd
+0066062900bc000000000000004c000000e0000001cc000100000003034e002b0078000c0002
+001000400008000005ed02210008000441840280012600fe000301250011000301240121003a
+0005012400fa000301230016000301220121003a0005012200fe00030121003a0003012000fa
+0003011f00bb0003011e00640003011d00fe0003011c00190003011b001e0003011a00fe0003
+011900fe0003011800fe0003011700fe0003011600fe000301150114000e0005011500fe0003
+0114000e0003011300fe0003011200fe0003010f010e007d0005010f00fe0003010e007d0003
+010d010c008c0005010d00fe0003010d00c00004010c010b00590005010c008c0003010c0080
+0004010b010a00260005010b00590003010b00400004010a00260003010900fe0003010800fe
+00030107000c00030107008000040106b2972e054113010600fa0003010500fa0003010400fe
+0003010300190003010200fa0003010100fa0003010040ff7d03ff3e03fefe03fcfb2c05fcfe
+03fb2c03fafe03f9f84705f97d03f84703f7fa03f6fe03f5fe03f4fe03f3bb03f2fe03f1fe03
+f0fe03ef1e03eefe03edec0a05edfe03ec0a03ec4004ebea0a05eb3203ea0a03e9fa03e89116
+05e8fe03e7fa03e6fa03e5911605e5fe03e4fe03e3fe03e2fe03e1fe03e0fe03dffe03defa03
+dddc1805dd6403dc1803dba01e05db6403dad92505dafa03d92503d8d12505d8fa03d7d61405
+d71603d6d51005d61403d51003d4d30b05d42003d30b03d2d12505d2fa03d1911605d12503d0
+940c05d02303cfce1405cf2603cecd1205ce1403cd1203cc911605cc1d03cb1403cac9bb05ca
+fe03c9c85d05c9bb03c98004c840ffc72505c85d03c84004c72503c6fe03c56403c4901005c4
+fe03c31c03c2fe03c1fe03c0bf3a05c0fa03bfad1b05bf3a03bebd1a05be3203bdbc1105bd1a
+03bcbb0f05bc1103bbba0c05bb0f03ba0c03b9911605b9fe03b8fe03b71503b61203b5fe03b4
+fe03b3fe03b21703b11903b01603afad1b05affa03aead1b05aefa03ad911605ad1b03ac9116
+05ac7d03abfe03aa2603a9fe03a8fe03a7fe03a6fe03a50a03a4fe03a3a20e05a3fe03a20e03
+a24004a1a01e05a1fa03a0911605a01e039f9116059ffa039e940c059e1c039dfe039c9bbb05
+9cfe039b9a5d059bbb039b80049a8f25059a5d039a400499fe0398972e0598fe03972e039691
+1605961e40ff0395940c05952003940c0393911605934b039291160592fe0391901005911603
+9010038f25038efe038dfe038cfe038bfe038afe0389fe038887250588fe0387250386fe0385
+fe0384320383960382fe0381fe038019037f0a037efe037dfe037cfe037bfa037afa0379fe03
+7776a60577fe0376a60375741b0575fa03741b0373fa03727d0371fe03706f2c056f2c036efa
+036dfa036cfa036bfe036afe0369fe0368630c0568320367fe0366320365640a0565fe03640a
+0364400463620a05630c03620a0361601505619603600111056015035f0a035efe035dfe035c
+0111055cfe035b5a1b055bfe035a0111055a1b0359fe0358fa0357fe035601110540ff56fe03
+55fe03541e035314035251190552fa0351011105511903504f190550fa034f4e11054f19034e
+11034d1e034c4b14054c15034b4a11054b14034a490e054a1103490e0348fa03474614054715
+0346140345fa0344430e05440f03430e034241250542fa0341011105412503403f0f0540fe03
+3f3e0e053f0f033e0e033d3c0d053d16033c0d033b64033afe0339140338fe0337130336351a
+0536250335341405351a0335c004340a0d0534140334800433320c05331403334004320c0331
+30a60531fe033001110530a6032f0c032e13032d2c3a052dfa032c1525052c3a032b64032a64
+0329fe0328150327171105271e03262003251e0324231105402b241e0323110322000d0522fa
+03210f032140042014031f0a031e1e031d1c19051d25031c0f13051c19031cb801004091041b
+0d031a194b051a7d0319011105194b0318fe031711031615250516fa03150111051525031464
+0313110312fe031101110511fe031064030f0e10050f13030fc0040e10030e80040d0111050d
+fa030c32030b0a0d050b16030b80040a0d030a400409fe0308fe0307fe0306050a0506fe0305
+0a0305400404fa030364030201110502fe0301000d05011103000d0301b80164858d012b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b002b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b1d0000>
+] def
+/f-1-0 currentdict end definefont pop
+%%EndResource
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 75 69 475 425
+%%EndPageSetup
+q 75 69 400 356 rectclip q
+0 g
+2.4 w
+1 J
+1 j
+[] 0.0 d
+4 M q 1 0 0 -1 0 433.896301 cm
+137.555 66.457 96 80 re S Q
+BT
+17.6 0 0 17.6 150.69448 331.751667 Tm
+/f-0-0 1 Tf
+[(Commit)]TJ
+0.862305 -1.25 Td
+(Tx A)Tj
+ET
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+250.605 25.652 m 178.293 25.078 l 178.293 65.078 l S Q
+178.293 376.818 m 175.094 380.017 l 178.293 368.818 l 181.492 380.017 l
+ h
+178.293 376.818 m f*
+0.8 w
+q 0.0000002 1 1 -0.0000002 0 433.896301 cm
+-57.078 178.293 m -53.879 175.094 l -65.078 178.293 l -53.879 181.492 l
+ h
+-57.078 178.293 m S Q
+2.4 w
+1 J
+1 j
+q 1 0 0 -1 0 433.896301 cm
+315.172 67.43 96 80 re S Q
+BT
+17.6 0 0 17.6 328.310715 330.78111 Tm
+/f-0-0 1 Tf
+[(Commit)]TJ
+0.861328 -1.25 Td
+(Tx B)Tj
+ET
+q 1 0 0 -1 0 433.896301 cm
+297.879 34.363 m 297.879 47.617 287.133 58.363 273.879 58.363 c 260.621
+ 58.363 249.879 47.617 249.879 34.363 c 249.879 21.109 260.621 10.363 273.879
+ 10.363 c 287.133 10.363 297.879 21.109 297.879 34.363 c h
+297.879 34.363 m S Q
+0.8 w
+0 J
+0 j
+q 1 0 0 -1 0 433.896301 cm
+273.879 10.363 m 273.879 58.363 l S Q
+q 1 0 0 -1 0 433.896301 cm
+249.879 34.363 m 297.879 34.363 l S Q
+q 1 0 0 -1 0 433.896301 cm
+250.605 41.652 m 194.293 41.652 l 194.293 65.078 l S Q
+194.293 376.818 m 191.094 380.017 l 194.293 368.818 l 197.492 380.017 l
+ h
+194.293 376.818 m f*
+0.8 w
+q 0.000000341463 1 1 -0.000000341463 0 433.896301 cm
+-57.078 194.293 m -53.879 191.094 l -65.078 194.293 l -53.879 197.492 l
+ h
+-57.078 194.293 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+296.574 25.652 m 368.883 25.078 l 368.887 65.078 l S Q
+368.887 376.818 m 365.684 380.017 l 368.887 368.818 l 372.086 380.017 l
+ h
+368.887 376.818 m f*
+0.8 w
+q -0.0000002 1 1 0.0000002 0 433.896301 cm
+-57.078 368.887 m -53.879 365.684 l -65.078 368.887 l -53.879 372.086 l
+ h
+-57.078 368.887 m S Q
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+296.574 41.652 m 352.883 41.652 l 352.887 65.078 l S Q
+352.887 376.818 m 349.684 380.017 l 352.887 368.818 l 356.086 380.017 l
+ h
+352.887 376.818 m f*
+0.8 w
+q -0.000000341463 1 1 0.000000341463 0 433.896301 cm
+-57.078 352.887 m -53.879 349.684 l -65.078 352.887 l -53.879 356.086 l
+ h
+-57.078 352.887 m S Q
+BT
+12 0 0 12 154.199851 353.916559 Tm
+/f-0-0 1 Tf
+(SIG A & B)Tj
+14.845178 -0.134686 Td
+[(SIG A &)-319(B)]TJ
+ET
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+154.352 146.453 m 154.48 162.617 l 98.852 162.617 l 98.852 186.047 l S Q
+98.852 255.849 m 95.648 259.053 l 98.852 247.849 l 102.051 259.053 l h
+98.852 255.849 m f*
+0.8 w
+q 0.000000341463 1 1 -0.000000341463 0 433.896301 cm
+-178.047 98.852 m -174.844 95.648 l -186.047 98.852 l -174.844 102.051
+l h
+-178.047 98.852 m S Q
+BT
+12 0 0 12 74.360245 239.841376 Tm
+/f-0-0 1 Tf
+(SIG B)Tj
+ET
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+186.359 146.055 m 186.359 202.055 l S Q
+186.359 239.842 m 183.16 243.041 l 186.359 231.842 l 189.559 243.041 l
+h
+186.359 239.842 m f*
+0.8 w
+q 0 1 1 0 0 433.896301 cm
+-194.055 186.359 m -190.855 183.16 l -202.055 186.359 l -190.855 189.559
+ l h
+-194.055 186.359 m S Q
+BT
+12 0 0 12 98.003489 217.457611 Tm
+/f-0-0 1 Tf
+[(REV)17(OCA)77(TION-)21(A & SIG B)]TJ
+/f-1-0 1 Tf
+5.02832 -1.25 Td
+(OR)Tj
+/f-0-0 1 Tf
+-3.206055 -1.25 Td
+[(OP_CSV & SIG A)]TJ
+ET
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+403.176 146.453 m 403.047 162.617 l 458.676 162.617 l 458.676 186.047 l
+ S Q
+458.676 255.849 m 455.477 259.053 l 458.676 247.849 l 461.879 259.053 l
+ h
+458.676 255.849 m f*
+0.8 w
+q -0.000000341463 1 1 0.000000341463 0 433.896301 cm
+-178.047 458.676 m -174.844 455.477 l -186.047 458.676 l -174.844 461.879
+ l h
+-178.047 458.676 m S Q
+BT
+12 0 0 12 441.962302 234.992646 Tm
+/f-0-0 1 Tf
+(SIG A)Tj
+ET
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+361.629 149.289 m 361.629 205.289 l S Q
+361.629 236.607 m 358.43 239.81 l 361.629 228.607 l 364.828 239.81 l h
+361.629 236.607 m f*
+0.8 w
+q 0 1 1 0 0 433.896301 cm
+-197.289 361.629 m -194.086 358.43 l -205.289 361.629 l -194.086 364.828
+ l h
+-197.289 361.629 m S Q
+BT
+12 0 0 12 331.539304 213.416986 Tm
+/f-0-0 1 Tf
+[(REV)17(OCA)77(TION-)34(B & SIG A)]TJ
+/f-1-0 1 Tf
+5.021484 -1.25 Td
+(OR)Tj
+/f-0-0 1 Tf
+-3.207031 -1.25 Td
+[(OP_CSV & SIG B)]TJ
+ET
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+210.527 148.152 m 210.398 164.316 l 240.98 164.316 l 240.98 287.949 l S Q
+240.98 153.947 m 237.781 157.146 l 240.98 145.947 l 244.18 157.146 l h
+240.98 153.947 m f*
+0.8 w
+q -0.0000000647062 1 1 0.0000000647062 0 433.896301 cm
+-279.949 240.98 m -276.75 237.781 l -287.949 240.98 l -276.75 244.18 l
+h
+-279.949 240.98 m S Q
+BT
+12 0 0 12 130.27529 130.667768 Tm
+/f-0-0 1 Tf
+[(R)41(-)58(V)65(AL)49(UE & SIG-)-3(P)64(A)79(YEE)]TJ
+/f-1-0 1 Tf
+4.508789 -1.25 Td
+(OR)Tj
+/f-0-0 1 Tf
+-6.18457 -1.25 Td
+[(HTLC-)90(TIMEOUT)-3( & SIG-P)63(A)79(YER)]TJ
+/f-1-0 1 Tf
+6.18457 -1.25 Td
+(OR)Tj
+/f-0-0 1 Tf
+-5.02832 -1.25 Td
+[(REV)17(OCA)77(TION-)21(A & SIG B)]TJ
+ET
+0.8 w
+q 1 0 0 -1 0 433.896301 cm
+345.309 147.668 m 345.438 163.832 l 314.859 163.832 l 314.859 287.469 l
+ S Q
+314.859 154.428 m 311.656 157.631 l 314.859 146.428 l 318.059 157.631 l
+ h
+314.859 154.428 m f*
+0.8 w
+q 0.0000000647062 1 1 -0.0000000647062 0 433.896301 cm
+-279.469 314.859 m -276.266 311.656 l -287.469 314.859 l -276.266 318.059
+ l h
+-279.469 314.859 m S Q
+BT
+12 0 0 12 320.821482 132.279926 Tm
+/f-0-0 1 Tf
+[(R)41(-)58(V)65(AL)49(UE & SIG-)-3(P)64(A)79(YEE)]TJ
+/f-1-0 1 Tf
+4.508789 -1.25 Td
+(OR)Tj
+/f-0-0 1 Tf
+-6.18457 -1.25 Td
+[(HTLC-)90(TIMEOUT)-3( & SIG-P)63(A)79(YER)]TJ
+/f-1-0 1 Tf
+6.18457 -1.25 Td
+(OR)Tj
+/f-0-0 1 Tf
+-5.021484 -1.25 Td
+[(REV)17(OCA)77(TION-)34(B & SIG A)]TJ
+ET
+Q Q
+showpage
+%%Trailer
+end restore
+%%EOF
diff --git a/doc/htlc.svg b/doc/htlc.svg
new file mode 100644
index 000000000..a77ee6f91
--- /dev/null
+++ b/doc/htlc.svg
@@ -0,0 +1,596 @@
+
+
+
+