| ofs | hex dump | ascii |
|---|
| 0000 | 64 62 2d 32 30 31 34 30 34 32 31 2e 32 31 31 31 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | db-20140421.2111/............... |
| 0020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0060 | 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000755.0000000.0000000.0000 |
| 0080 | 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 31 33 36 30 00 20 35 00 00 00 | 0000000.00000000000.011360..5... |
| 00a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 00e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0100 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 0120 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 0140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0200 | 64 62 2d 32 30 31 34 30 34 32 31 2e 32 31 31 31 2f 64 62 2d 70 6b 67 2e 65 6c 00 00 00 00 00 00 | db-20140421.2111/db-pkg.el...... |
| 0220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0260 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| 0280 | 30 30 30 30 36 33 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 30 35 32 00 20 30 00 00 00 | 0000635.00000000000.013052..0... |
| 02a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 02c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 02e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0300 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 0320 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 0340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0400 | 3b 3b 20 2d 2a 2d 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 3b 20 6c 65 78 69 63 | ;;.-*-.no-byte-compile:.t;.lexic |
| 0420 | 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 6e 69 6c 20 2d 2a 2d 0a 28 64 65 66 69 6e 65 2d 70 61 63 6b | al-binding:.nil.-*-.(define-pack |
| 0440 | 61 67 65 20 22 64 62 22 20 22 32 30 31 34 30 34 32 31 2e 32 31 31 31 22 0a 20 20 22 41 20 64 61 | age."db"."20140421.2111"..."A.da |
| 0460 | 74 61 62 61 73 65 20 66 6f 72 20 45 6d 61 63 73 4c 69 73 70 2e 22 0a 20 20 27 28 28 6b 76 20 22 | tabase.for.EmacsLisp."...'((kv." |
| 0480 | 30 2e 30 2e 31 31 22 29 29 0a 20 20 3a 75 72 6c 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 | 0.0.11"))...:url."https://github |
| 04a0 | 2e 63 6f 6d 2f 6e 69 63 66 65 72 72 69 65 72 2f 65 6d 61 63 73 2d 64 62 22 0a 20 20 3a 63 6f 6d | .com/nicferrier/emacs-db"...:com |
| 04c0 | 6d 69 74 20 22 62 33 61 34 32 33 66 62 38 65 37 32 66 39 30 31 33 30 30 39 63 62 65 30 33 33 64 | mit."b3a423fb8e72f9013009cbe033d |
| 04e0 | 36 35 34 64 66 32 63 65 33 31 34 33 38 22 0a 20 20 3a 72 65 76 64 65 73 63 20 22 62 33 61 34 32 | 654df2ce31438"...:revdesc."b3a42 |
| 0500 | 33 66 62 38 65 37 32 22 0a 20 20 3a 6b 65 79 77 6f 72 64 73 20 27 28 22 64 61 74 61 22 20 22 6c | 3fb8e72"...:keywords.'("data"."l |
| 0520 | 69 73 70 22 29 0a 20 20 3a 61 75 74 68 6f 72 73 20 27 28 28 22 4e 69 63 20 46 65 72 72 69 65 72 | isp")...:authors.'(("Nic.Ferrier |
| 0540 | 22 20 2e 20 22 6e 66 65 72 72 69 65 72 40 66 65 72 72 69 65 72 2e 6d 65 2e 75 6b 22 29 29 0a 20 | "..."nferrier@ferrier.me.uk")).. |
| 0560 | 20 3a 6d 61 69 6e 74 61 69 6e 65 72 73 20 27 28 28 22 4e 69 63 20 46 65 72 72 69 65 72 22 20 2e | .:maintainers.'(("Nic.Ferrier".. |
| 0580 | 20 22 6e 66 65 72 72 69 65 72 40 66 65 72 72 69 65 72 2e 6d 65 2e 75 6b 22 29 29 29 0a 00 00 00 | ."nferrier@ferrier.me.uk"))).... |
| 05a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 05c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 05e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0600 | 64 62 2d 32 30 31 34 30 34 32 31 2e 32 31 31 31 2f 64 62 2e 65 6c 00 00 00 00 00 00 00 00 00 00 | db-20140421.2111/db.el.......... |
| 0620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0660 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| 0680 | 30 30 32 33 30 37 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 32 37 34 00 20 30 00 00 00 | 0023073.00000000000.012274..0... |
| 06a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 06c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 06e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0700 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 0720 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 0740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0800 | 3b 3b 3b 20 64 62 2e 65 6c 20 2d 2d 2d 20 41 20 64 61 74 61 62 61 73 65 20 66 6f 72 20 45 6d 61 | ;;;.db.el.---.A.database.for.Ema |
| 0820 | 63 73 4c 69 73 70 20 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 20 2d | csLisp..-*-.lexical-binding:.t.- |
| 0840 | 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 32 20 20 4e 69 63 20 46 | *-..;;.Copyright.(C).2012..Nic.F |
| 0860 | 65 72 72 69 65 72 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 4e 69 63 20 46 65 72 72 69 65 72 20 3c | errier..;;.Author:.Nic.Ferrier.< |
| 0880 | 6e 66 65 72 72 69 65 72 40 66 65 72 72 69 65 72 2e 6d 65 2e 75 6b 3e 0a 3b 3b 20 4d 61 69 6e 74 | nferrier@ferrier.me.uk>.;;.Maint |
| 08a0 | 61 69 6e 65 72 3a 20 4e 69 63 20 46 65 72 72 69 65 72 20 3c 6e 66 65 72 72 69 65 72 40 66 65 72 | ainer:.Nic.Ferrier.<nferrier@fer |
| 08c0 | 72 69 65 72 2e 6d 65 2e 75 6b 3e 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 64 61 74 61 2c 20 6c | rier.me.uk>.;;.Keywords:.data,.l |
| 08e0 | 69 73 70 0a 3b 3b 20 43 72 65 61 74 65 64 3a 20 32 33 72 64 20 53 65 70 74 65 6d 62 65 72 20 32 | isp.;;.Created:.23rd.September.2 |
| 0900 | 30 31 32 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 6b 76 20 22 30 | 012.;;.Package-Requires:.((kv."0 |
| 0920 | 2e 30 2e 31 31 22 29 29 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 56 65 72 73 69 6f 6e 3a 20 32 30 31 | .0.11")).;;.Package-Version:.201 |
| 0940 | 34 30 34 32 31 2e 32 31 31 31 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 76 69 73 69 6f 6e 3a 20 | 40421.2111.;;.Package-Revision:. |
| 0960 | 62 33 61 34 32 33 66 62 38 65 37 32 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 | b3a423fb8e72..;;.This.program.is |
| 0980 | 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 | .free.software;.you.can.redistri |
| 09a0 | 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 | bute.it.and/or.modify.;;.it.unde |
| 09c0 | 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 | r.the.terms.of.the.GNU.General.P |
| 09e0 | 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b | ublic.License.as.published.by.;; |
| 0a00 | 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 | .the.Free.Software.Foundation,.e |
| 0a20 | 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 | ither.version.3.of.the.License,. |
| 0a40 | 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 | or.;;.(at.your.option).any.later |
| 0a60 | 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 | .version...;;.This.program.is.di |
| 0a80 | 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 | stributed.in.the.hope.that.it.wi |
| 0aa0 | 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 | ll.be.useful,.;;.but.WITHOUT.ANY |
| 0ac0 | 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c | .WARRANTY;.without.even.the.impl |
| 0ae0 | 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 | ied.warranty.of.;;.MERCHANTABILI |
| 0b00 | 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 | TY.or.FITNESS.FOR.A.PARTICULAR.P |
| 0b20 | 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 | URPOSE...See.the.;;.GNU.General. |
| 0b40 | 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e | Public.License.for.more.details. |
| 0b60 | 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 | ..;;.You.should.have.received.a. |
| 0b80 | 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c | copy.of.the.GNU.General.Public.L |
| 0ba0 | 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 | icense.;;.along.with.this.progra |
| 0bc0 | 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e | m...If.not,.see.<http://www.gnu. |
| 0be0 | 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a | org/licenses/>...;;;.Commentary: |
| 0c00 | 0a 0a 3b 3b 20 54 68 69 73 20 69 73 20 61 20 73 69 6d 70 6c 65 20 64 61 74 61 62 61 73 65 20 69 | ..;;.This.is.a.simple.database.i |
| 0c20 | 6e 74 65 72 66 61 63 65 20 61 6e 64 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 0a 3b 3b 0a | nterface.and.implementation..;;. |
| 0c40 | 3b 3b 20 49 74 20 73 68 6f 75 6c 64 20 62 65 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 73 70 65 63 | ;;.It.should.be.possible.to.spec |
| 0c60 | 69 66 79 20 61 6e 79 20 6b 69 6e 64 20 6f 66 20 6b 65 79 2f 76 61 6c 75 65 20 64 61 74 61 62 61 | ify.any.kind.of.key/value.databa |
| 0c80 | 73 65 0a 3b 3b 20 77 69 74 68 20 74 68 69 73 20 69 6e 74 65 72 66 61 63 65 2e 0a 3b 3b 0a 3b 3b | se.;;.with.this.interface..;;.;; |
| 0ca0 | 20 54 68 65 20 73 75 70 70 6c 69 65 64 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 69 73 20 | .The.supplied.implementation.is. |
| 0cc0 | 61 6e 20 45 6d 61 63 73 20 68 61 73 68 2d 74 61 62 6c 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 | an.Emacs.hash-table.implementati |
| 0ce0 | 6f 6e 0a 3b 3b 20 62 61 63 6b 65 64 20 77 69 74 68 20 73 65 72 69 61 6c 69 7a 69 6e 67 20 6f 62 | on.;;.backed.with.serializing.ob |
| 0d00 | 6a 65 63 74 73 2e 20 20 49 74 20 69 73 20 4e 4f 54 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 61 | jects...It.is.NOT.intended.for.a |
| 0d20 | 6e 79 74 68 69 6e 67 0a 3b 3b 20 6f 74 68 65 72 20 74 68 61 6e 20 76 65 72 79 20 73 69 6d 70 6c | nything.;;.other.than.very.simpl |
| 0d40 | 65 20 75 73 65 20 63 61 73 65 73 20 61 6e 64 20 77 69 6c 6c 20 6e 6f 74 20 73 63 61 6c 65 20 76 | e.use.cases.and.will.not.scale.v |
| 0d60 | 65 72 79 20 77 65 6c 6c 20 61 74 0a 3b 3b 20 61 6c 6c 2e 0a 0a 3b 3b 20 48 6f 77 65 76 65 72 2c | ery.well.at.;;.all...;;.However, |
| 0d80 | 20 6f 74 68 65 72 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 20 28 6d 6f 6e 67 6f 64 62 2c | .other.implementations.(mongodb, |
| 0da0 | 20 72 65 64 69 73 20 6f 72 20 50 6f 73 74 67 72 65 53 51 4c 0a 3b 3b 20 68 73 74 6f 72 65 29 20 | .redis.or.PostgreSQL.;;.hstore). |
| 0dc0 | 77 6f 75 6c 64 20 62 65 20 65 61 73 79 20 74 6f 20 69 6d 70 6c 65 6d 65 6e 74 20 61 6e 64 20 66 | would.be.easy.to.implement.and.f |
| 0de0 | 69 74 20 69 6e 20 68 65 72 65 2e 0a 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 65 76 61 6c 2d 77 | it.in.here....;;;.Code:..(eval-w |
| 0e00 | 68 65 6e 2d 63 6f 6d 70 69 6c 65 0a 20 20 28 72 65 71 75 69 72 65 20 27 63 6c 29 29 0a 28 72 65 | hen-compile...(require.'cl)).(re |
| 0e20 | 71 75 69 72 65 20 27 6b 76 29 0a 0a 28 64 65 66 75 6e 20 64 62 2f 6d 61 6b 65 2d 74 79 70 65 2d | quire.'kv)..(defun.db/make-type- |
| 0e40 | 73 74 6f 72 65 20 28 29 0a 20 20 22 4d 61 6b 65 20 74 68 65 20 74 79 70 65 20 73 74 6f 72 65 2e | store.()..."Make.the.type.store. |
| 0e60 | 22 0a 20 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 27 65 71 29 29 | "...(make-hash-table.:test.'eq)) |
| 0e80 | 0a 0a 28 64 65 66 76 61 72 20 64 62 2f 74 79 70 65 73 20 28 64 62 2f 6d 61 6b 65 2d 74 79 70 65 | ..(defvar.db/types.(db/make-type |
| 0ea0 | 2d 73 74 6f 72 65 29 0a 20 20 22 48 61 73 68 20 6f 66 20 64 61 74 61 62 61 73 65 20 74 79 70 65 | -store)..."Hash.of.database.type |
| 0ec0 | 20 69 64 73 20 61 67 61 69 6e 73 74 20 66 75 6e 63 73 3f 22 29 0a 0a 28 64 65 66 75 6e 2a 20 64 | .ids.against.funcs?")..(defun*.d |
| 0ee0 | 62 2d 6d 61 6b 65 20 28 72 65 66 65 72 65 6e 63 65 29 0a 20 20 22 4d 61 6b 65 20 61 20 44 42 20 | b-make.(reference)..."Make.a.DB. |
| 0f00 | 62 61 73 65 64 20 6f 6e 20 74 68 65 20 52 45 46 45 52 45 4e 43 45 2e 22 0a 20 20 28 69 66 20 28 | based.on.the.REFERENCE."...(if.( |
| 0f20 | 61 6e 64 20 28 6c 69 73 74 70 20 72 65 66 65 72 65 6e 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 | and.(listp.reference)........... |
| 0f40 | 20 28 65 71 20 27 64 62 2d 68 61 73 68 20 28 63 61 72 20 72 65 66 65 72 65 6e 63 65 29 29 29 0a | .(eq.'db-hash.(car.reference))). |
| 0f60 | 20 20 20 20 20 20 3b 3b 20 74 68 69 73 20 73 68 6f 75 6c 64 20 62 65 20 70 61 72 74 20 6f 66 20 | ......;;.this.should.be.part.of. |
| 0f80 | 77 68 61 74 20 77 65 20 66 69 6e 64 20 77 68 65 6e 20 77 65 20 6c 6f 6f 6b 20 69 74 20 75 70 3f | what.we.find.when.we.look.it.up? |
| 0fa0 | 0a 20 20 20 20 20 20 28 64 62 2d 68 61 73 68 20 72 65 66 65 72 65 6e 63 65 29 0a 20 20 20 20 20 | .......(db-hash.reference)...... |
| 0fc0 | 20 3b 3b 20 4f 74 68 65 72 77 69 73 65 20 6c 6f 6f 6b 20 69 74 20 75 70 2e 2e 2e 0a 20 20 20 20 | .;;.Otherwise.look.it.up........ |
| 0fe0 | 20 20 28 6c 65 74 20 28 28 64 62 2d 66 75 6e 63 20 28 67 65 74 68 61 73 68 20 28 63 61 72 20 72 | ..(let.((db-func.(gethash.(car.r |
| 1000 | 65 66 65 72 65 6e 63 65 29 20 64 62 2f 74 79 70 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 | eference).db/types))).........(i |
| 1020 | 66 20 28 66 75 6e 63 74 69 6f 6e 70 20 64 62 2d 66 75 6e 63 29 0a 20 20 20 20 20 20 20 20 20 20 | f.(functionp.db-func)........... |
| 1040 | 20 20 28 66 75 6e 63 61 6c 6c 20 64 62 2d 66 75 6e 63 20 72 65 66 65 72 65 6e 63 65 29 0a 20 20 | ..(funcall.db-func.reference)... |
| 1060 | 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 65 72 65 20 73 68 6f 75 6c 64 20 62 65 20 61 20 73 | ..........;;.there.should.be.a.s |
| 1080 | 70 65 63 69 66 69 63 20 64 62 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 | pecific.db.error.............(er |
| 10a0 | 72 6f 72 20 22 6e 6f 20 73 75 63 68 20 64 61 74 61 62 61 73 65 20 69 6d 70 6c 65 6d 65 6e 74 61 | ror."no.such.database.implementa |
| 10c0 | 74 69 6f 6e 22 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 62 2d 67 65 74 20 28 6b 65 79 20 64 | tion")))))..(defun.db-get.(key.d |
| 10e0 | 62 29 0a 20 20 22 47 65 74 20 74 68 65 20 76 61 6c 75 65 20 66 72 6f 6d 20 74 68 65 20 44 42 20 | b)..."Get.the.value.from.the.DB. |
| 1100 | 77 69 74 68 20 74 68 65 20 4b 45 59 2e 22 0a 20 20 28 66 75 6e 63 61 6c 6c 20 28 70 6c 69 73 74 | with.the.KEY."...(funcall.(plist |
| 1120 | 2d 67 65 74 20 64 62 20 3a 67 65 74 29 20 6b 65 79 20 64 62 29 29 0a 0a 28 64 65 66 75 6e 20 64 | -get.db.:get).key.db))..(defun.d |
| 1140 | 62 2d 70 75 74 20 28 6b 65 79 20 76 61 6c 75 65 20 64 62 29 0a 20 20 22 50 75 74 20 61 20 6e 65 | b-put.(key.value.db)..."Put.a.ne |
| 1160 | 77 20 56 41 4c 55 45 20 69 6e 74 6f 20 74 68 65 20 44 42 20 77 69 74 68 20 74 68 65 20 73 70 65 | w.VALUE.into.the.DB.with.the.spe |
| 1180 | 63 69 66 69 65 64 20 4b 45 59 2e 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 56 41 4c 55 45 20 61 73 | cified.KEY...Return.the.VALUE.as |
| 11a0 | 20 69 74 20 68 61 73 20 62 65 65 6e 20 70 75 74 20 69 6e 74 6f 20 74 68 65 20 44 42 2e 22 0a 20 | .it.has.been.put.into.the.DB.".. |
| 11c0 | 20 28 66 75 6e 63 61 6c 6c 20 28 70 6c 69 73 74 2d 67 65 74 20 64 62 20 3a 70 75 74 29 20 6b 65 | .(funcall.(plist-get.db.:put).ke |
| 11e0 | 79 20 76 61 6c 75 65 20 64 62 29 29 0a 0a 28 64 65 66 75 6e 20 64 62 2d 6d 61 70 20 28 66 75 6e | y.value.db))..(defun.db-map.(fun |
| 1200 | 63 20 64 62 20 26 6f 70 74 69 6f 6e 61 6c 20 71 75 65 72 79 20 66 69 6c 74 65 72 29 0a 20 20 22 | c.db.&optional.query.filter)..." |
| 1220 | 43 61 6c 6c 20 46 55 4e 43 20 66 6f 72 20 65 76 65 72 79 20 72 65 63 6f 72 64 20 69 6e 20 44 42 | Call.FUNC.for.every.record.in.DB |
| 1240 | 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 51 55 45 52 59 20 66 69 6c 74 65 72 2e 0a 0a 51 55 45 52 59 | .optionally.QUERY.filter...QUERY |
| 1260 | 2c 20 69 66 20 73 70 65 63 69 66 69 65 64 2c 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6c 69 73 74 | ,.if.specified,.should.be.a.list |
| 1280 | 20 6f 66 20 71 75 65 72 79 20 74 65 72 6d 73 20 61 73 20 73 70 65 63 69 66 69 65 64 0a 62 79 20 | .of.query.terms.as.specified.by. |
| 12a0 | 60 6b 76 71 75 65 72 79 2d 3e 66 75 6e 63 27 2e 0a 0a 46 55 4e 43 20 73 68 6f 75 6c 64 20 74 61 | `kvquery->func'...FUNC.should.ta |
| 12c0 | 6b 65 20 32 20 61 72 67 75 6d 65 6e 74 73 3a 0a 0a 20 20 4b 45 59 20 44 42 2d 56 41 4c 55 45 0a | ke.2.arguments:....KEY.DB-VALUE. |
| 12e0 | 0a 77 68 65 72 65 20 74 68 65 20 44 42 2d 56 41 4c 55 45 20 69 73 20 77 68 61 74 65 76 65 72 20 | .where.the.DB-VALUE.is.whatever. |
| 1300 | 74 68 65 20 44 42 20 68 61 73 20 61 74 74 61 63 68 65 64 20 74 6f 20 74 68 65 0a 73 70 65 63 69 | the.DB.has.attached.to.the.speci |
| 1320 | 66 69 65 64 20 4b 45 59 2e 0a 0a 54 68 69 73 20 72 65 74 75 72 6e 73 20 61 6e 20 61 6c 69 73 74 | fied.KEY...This.returns.an.alist |
| 1340 | 20 6f 66 20 74 68 65 20 4b 45 59 20 61 6e 64 20 74 68 65 20 76 61 6c 75 65 20 74 68 65 20 66 75 | .of.the.KEY.and.the.value.the.fu |
| 1360 | 6e 63 74 69 6f 6e 0a 72 65 74 75 72 6e 65 64 2e 20 20 49 66 20 46 49 4c 54 45 52 20 69 73 20 60 | nction.returned...If.FILTER.is.` |
| 1380 | 74 27 20 74 68 65 6e 20 6f 6e 6c 79 20 70 61 69 72 73 20 77 69 74 68 20 61 20 76 61 6c 75 65 20 | t'.then.only.pairs.with.a.value. |
| 13a0 | 61 72 65 0a 72 65 74 75 72 6e 65 64 2e 22 0a 20 20 28 6c 65 74 20 28 72 65 74 6c 69 73 74 29 0a | are.returned."...(let.(retlist). |
| 13c0 | 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 70 6c 69 73 74 2d 67 65 74 20 64 62 20 3a 6d 61 70 29 | ....(funcall.(plist-get.db.:map) |
| 13e0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 6b 65 79 20 76 61 6c 75 65 | ..............(lambda.(key.value |
| 1400 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 6b 65 79 0a 20 20 20 20 20 | )................(when.key...... |
| 1420 | 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ............(setq............... |
| 1440 | 20 20 20 20 72 65 74 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 | ....retlist...................(c |
| 1460 | 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 | ons....................(funcall. |
| 1480 | 66 75 6e 63 20 6b 65 79 20 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | func.key.value)................. |
| 14a0 | 20 20 20 72 65 74 6c 69 73 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 64 62 20 71 | ...retlist))))..............db.q |
| 14c0 | 75 65 72 79 29 0a 20 20 20 20 28 69 66 20 66 69 6c 74 65 72 0a 20 20 20 20 20 20 20 20 28 6c 6f | uery).....(if.filter.........(lo |
| 14e0 | 6f 70 20 66 6f 72 20 70 20 69 6e 20 72 65 74 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 69 | op.for.p.in.retlist............i |
| 1500 | 66 20 28 63 64 72 20 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 70 29 0a | f.(cdr.p)............collect.p). |
| 1520 | 20 20 20 20 20 20 20 20 72 65 74 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 62 2d 71 75 | ........retlist)))..(defun.db-qu |
| 1540 | 65 72 79 20 28 64 62 20 71 75 65 72 79 29 0a 20 20 22 44 6f 20 51 55 45 52 59 20 6f 6e 20 44 42 | ery.(db.query)..."Do.QUERY.on.DB |
| 1560 | 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 0a 54 68 65 20 71 75 65 | .and.return.the.result...The.que |
| 1580 | 72 79 20 69 73 20 61 73 20 73 70 65 63 69 66 69 65 64 20 62 79 20 60 6b 76 71 75 65 72 79 2d 3e | ry.is.as.specified.by.`kvquery-> |
| 15a0 | 66 75 6e 63 27 2e 0a 0a 54 68 69 73 20 69 73 20 60 64 62 2d 6d 61 70 27 20 77 69 74 68 20 61 6e | func'...This.is.`db-map'.with.an |
| 15c0 | 20 69 64 65 6e 74 69 74 79 20 66 75 6e 63 74 69 6f 6e 2e 22 0a 20 20 28 64 62 2d 6d 61 70 20 27 | .identity.function."...(db-map.' |
| 15e0 | 6b 76 69 64 65 6e 74 69 74 79 20 64 62 20 71 75 65 72 79 29 29 0a 0a 0a 3b 3b 3b 20 47 65 6e 65 | kvidentity.db.query))...;;;.Gene |
| 1600 | 72 69 63 20 75 74 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 73 0a 0a 28 64 65 66 75 6e 20 64 62 | ric.utility.functions..(defun.db |
| 1620 | 2d 63 6f 70 79 20 28 73 72 63 2d 64 62 20 64 65 73 74 2d 64 62 29 0a 20 20 22 43 6f 70 79 20 74 | -copy.(src-db.dest-db)..."Copy.t |
| 1640 | 68 65 20 64 61 74 61 20 66 72 6f 6d 20 53 52 43 2d 44 42 20 69 6e 74 6f 20 44 45 53 54 2d 44 42 | he.data.from.SRC-DB.into.DEST-DB |
| 1660 | 2e 22 0a 20 20 28 64 62 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 6b 65 79 20 76 61 6c 75 65 29 | ."...(db-map.(lambda.(key.value) |
| 1680 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 28 75 6e 6c 65 73 73 20 28 64 62 2d 67 65 74 20 6b | .............;;(unless.(db-get.k |
| 16a0 | 65 79 20 64 65 73 74 2d 64 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 | ey.dest-db).............(progn.. |
| 16c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 62 2d 70 75 74 20 6b 65 79 20 76 61 6c 75 65 20 64 | .............(db-put.key.value.d |
| 16e0 | 65 73 74 2d 64 62 29 29 29 20 73 72 63 2d 64 62 29 29 0a 0a 0a 3b 3b 3b 20 48 61 73 68 20 69 6d | est-db))).src-db))...;;;.Hash.im |
| 1700 | 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 0a 0a 28 64 65 66 75 6e 20 64 62 2d 68 61 73 68 20 28 72 65 | plementation..(defun.db-hash.(re |
| 1720 | 66 65 72 65 6e 63 65 29 0a 20 20 22 4d 61 6b 65 20 61 20 64 62 2d 68 61 73 68 20 64 61 74 61 62 | ference)..."Make.a.db-hash.datab |
| 1740 | 61 73 65 2e 0a 0a 52 45 46 45 52 45 4e 43 45 20 63 6f 6d 65 73 20 66 72 6f 6d 20 74 68 65 20 63 | ase...REFERENCE.comes.from.the.c |
| 1760 | 61 6c 6c 20 74 6f 20 60 64 62 2d 6d 61 6b 65 27 20 61 6e 64 20 73 68 6f 75 6c 64 0a 69 6e 63 6c | all.to.`db-make'.and.should.incl |
| 1780 | 75 64 65 20 61 20 60 3a 66 69 6c 65 6e 61 6d 65 27 20 6b 65 79 20 61 72 67 20 74 6f 20 70 6f 69 | ude.a.`:filename'.key.arg.to.poi |
| 17a0 | 6e 74 20 74 6f 20 61 20 66 69 6c 65 3a 0a 0a 20 20 27 28 64 62 2d 68 61 73 68 20 3a 66 69 6c 65 | nt.to.a.file:....'(db-hash.:file |
| 17c0 | 6e 61 6d 65 20 5c 22 2f 76 61 72 2f 6c 6f 63 61 6c 2f 64 62 2f 61 75 74 68 2d 64 62 5c 22 29 0a | name.\"/var/local/db/auth-db\"). |
| 17e0 | 0a 49 66 20 74 68 65 20 66 69 6c 65 6e 61 6d 65 20 65 78 69 73 74 73 20 74 68 65 6e 20 69 74 20 | .If.the.filename.exists.then.it. |
| 1800 | 69 73 20 6c 6f 61 64 65 64 20 69 6e 74 6f 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 0a 0a 3a 66 | is.loaded.into.the.database...:f |
| 1820 | 72 6f 6d 2d 66 69 6c 65 6e 61 6d 65 20 6c 65 74 27 73 20 79 6f 75 20 73 70 65 63 69 66 79 20 74 | rom-filename.let's.you.specify.t |
| 1840 | 68 65 20 73 6f 75 72 63 65 20 6c 6f 63 61 74 69 6f 6e 20 74 68 65 20 64 62 20 77 69 6c 6c 0a 62 | he.source.location.the.db.will.b |
| 1860 | 65 20 72 65 61 64 20 66 72 6f 6d 2e 20 20 54 68 65 20 66 69 72 73 74 20 76 65 72 73 69 6f 6e 20 | e.read.from...The.first.version. |
| 1880 | 6f 66 20 74 68 65 20 68 61 73 68 20 64 62 20 74 69 65 64 20 64 61 74 61 62 61 73 65 73 20 74 6f | of.the.hash.db.tied.databases.to |
| 18a0 | 0a 73 70 65 63 69 66 69 63 20 66 69 6c 65 6e 61 6d 65 73 20 73 6f 20 79 6f 75 20 63 6f 75 6c 64 | .specific.filenames.so.you.could |
| 18c0 | 20 6e 6f 74 20 65 61 73 69 6c 79 20 6c 6f 61 64 20 61 20 64 62 20 66 72 6f 6d 20 6f 6e 65 0a 66 | .not.easily.load.a.db.from.one.f |
| 18e0 | 69 6c 65 20 6c 6f 63 61 74 69 6f 6e 20 69 6e 74 6f 20 61 6e 6f 74 68 65 72 2e 20 20 54 68 69 73 | ile.location.into.another...This |
| 1900 | 20 68 61 73 20 62 65 65 6e 20 66 69 78 65 64 20 62 75 74 20 69 66 20 79 6f 75 20 6e 65 65 64 0a | .has.been.fixed.but.if.you.need. |
| 1920 | 74 6f 20 77 6f 72 6b 20 77 69 74 68 20 61 20 70 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 27 | to.work.with.a.previous.version' |
| 1940 | 73 20 64 61 74 61 62 61 73 65 20 79 6f 75 20 63 61 6e 20 75 73 65 0a 74 68 65 20 3a 66 72 6f 6d | s.database.you.can.use.the.:from |
| 1960 | 2d 66 69 6c 65 6e 61 6d 65 20 74 6f 20 73 70 65 63 69 66 79 20 77 68 65 72 65 20 74 68 65 20 64 | -filename.to.specify.where.the.d |
| 1980 | 62 20 66 69 6c 65 20 77 61 73 20 6c 6f 63 61 74 65 64 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 64 | b.file.was.located."...(let*.((d |
| 19a0 | 62 2d 70 6c 69 73 74 20 28 63 64 72 20 72 65 66 65 72 65 6e 63 65 29 29 0a 20 20 20 20 20 20 20 | b-plist.(cdr.reference))........ |
| 19c0 | 20 20 28 66 69 6c 65 6e 61 6d 65 20 28 70 6c 69 73 74 2d 67 65 74 20 64 62 2d 70 6c 69 73 74 20 | ..(filename.(plist-get.db-plist. |
| 19e0 | 3a 66 69 6c 65 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 72 6f 6d 2d 66 69 6c 65 6e | :filename))..........(from-filen |
| 1a00 | 61 6d 65 20 28 70 6c 69 73 74 2d 67 65 74 20 64 62 2d 70 6c 69 73 74 20 3a 66 72 6f 6d 2d 66 69 | ame.(plist-get.db-plist.:from-fi |
| 1a20 | 6c 65 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 62 20 28 6c 69 73 74 0a 20 20 20 20 | lename))..........(db.(list..... |
| 1a40 | 20 20 20 20 20 20 20 20 20 20 3a 64 62 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a | ..........:db.(make-hash-table.: |
| 1a60 | 74 65 73 74 20 27 65 71 75 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 67 65 74 20 | test.'equal)...............:get. |
| 1a80 | 27 64 62 2d 68 61 73 68 2d 67 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 70 75 74 20 | 'db-hash-get...............:put. |
| 1aa0 | 27 64 62 2d 68 61 73 68 2d 70 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6d 61 70 20 | 'db-hash-put...............:map. |
| 1ac0 | 27 64 62 2d 68 61 73 68 2d 6d 61 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 71 75 65 72 | 'db-hash-map...............:quer |
| 1ae0 | 79 2d 65 71 75 61 6c 20 28 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | y-equal.(or..................... |
| 1b00 | 20 20 20 20 20 20 20 20 28 70 6c 69 73 74 2d 67 65 74 20 64 62 2d 70 6c 69 73 74 20 3a 71 75 65 | ........(plist-get.db-plist.:que |
| 1b20 | 72 79 2d 65 71 75 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ry-equal)....................... |
| 1b40 | 20 20 20 20 20 20 27 6b 76 61 73 73 6f 71 3d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a | ......'kvassoq=)...............: |
| 1b60 | 66 69 6c 65 6e 61 6d 65 20 66 69 6c 65 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | filename.filename............... |
| 1b80 | 3a 66 72 6f 6d 2d 66 69 6c 65 6e 61 6d 65 20 66 72 6f 6d 2d 66 69 6c 65 6e 61 6d 65 29 29 29 0a | :from-filename.from-filename))). |
| 1ba0 | 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 66 69 6c 65 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 | ....(when.(and.filename......... |
| 1bc0 | 20 20 20 20 20 20 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 28 63 6f 6e 63 61 74 20 66 69 | .......(file-exists-p.(concat.fi |
| 1be0 | 6c 65 6e 61 6d 65 20 22 2e 65 6c 63 22 29 29 29 0a 20 20 20 20 20 20 28 64 62 2d 68 61 73 68 2f | lename.".elc"))).......(db-hash/ |
| 1c00 | 72 65 61 64 20 64 62 29 29 0a 20 20 20 20 3b 3b 20 52 65 74 75 72 6e 20 74 68 65 20 64 61 74 61 | read.db)).....;;.Return.the.data |
| 1c20 | 62 61 73 65 0a 20 20 20 20 64 62 29 29 0a 0a 28 64 65 66 75 6e 20 64 62 2d 68 61 73 68 2f 72 65 | base.....db))..(defun.db-hash/re |
| 1c40 | 61 64 20 28 64 62 29 0a 20 20 22 4c 6f 61 64 73 20 74 68 65 20 44 42 2e 22 0a 20 20 28 6c 65 74 | ad.(db)..."Loads.the.DB."...(let |
| 1c60 | 2a 20 28 28 66 69 6c 65 6e 61 6d 65 20 28 70 6c 69 73 74 2d 67 65 74 20 64 62 20 3a 66 69 6c 65 | *.((filename.(plist-get.db.:file |
| 1c80 | 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 6f 75 72 63 65 2d 66 69 6c 65 6e 61 6d 65 | name))..........(source-filename |
| 1ca0 | 20 3b 20 74 68 69 73 20 69 73 20 6e 65 65 64 65 64 20 66 6f 72 20 74 68 65 20 63 72 61 70 70 79 | .;.this.is.needed.for.the.crappy |
| 1cc0 | 20 6f 6c 64 20 77 61 79 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .old.way.of..................... |
| 1ce0 | 20 20 20 20 20 20 3b 20 73 61 76 69 6e 67 20 77 69 74 68 20 61 20 75 6e 69 71 75 65 20 66 69 6c | ......;.saving.with.a.unique.fil |
| 1d00 | 65 6e 61 6d 65 20 62 61 73 65 64 20 73 79 6d 62 6f 6c 0a 20 20 20 20 20 20 20 20 20 20 28 6f 72 | ename.based.symbol...........(or |
| 1d20 | 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 6c 69 73 74 2d 67 65 74 20 64 62 20 3a 66 72 6f 6d 2d | ............(plist-get.db.:from- |
| 1d40 | 66 69 6c 65 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 6e 61 6d 65 29 29 29 | filename)............filename))) |
| 1d60 | 0a 20 20 20 20 28 77 68 65 6e 20 66 69 6c 65 6e 61 6d 65 0a 20 20 20 20 20 20 28 70 6c 69 73 74 | .....(when.filename.......(plist |
| 1d80 | 2d 70 75 74 0a 20 20 20 20 20 20 20 64 62 20 3a 64 62 0a 20 20 20 20 20 20 20 28 63 61 74 63 68 | -put........db.:db........(catch |
| 1da0 | 20 27 72 65 74 75 72 6e 0a 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 | .'return..........(progn........ |
| 1dc0 | 20 20 20 20 3b 3b 20 54 68 65 20 6e 65 77 20 73 61 76 69 6e 67 20 6d 65 63 68 61 6e 69 73 6d 20 | ....;;.The.new.saving.mechanism. |
| 1de0 | 63 61 75 73 65 73 20 74 68 61 74 20 74 68 72 6f 77 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f | causes.that.throw............(lo |
| 1e00 | 61 64 2d 66 69 6c 65 20 28 63 6f 6e 63 61 74 20 66 69 6c 65 6e 61 6d 65 20 22 2e 65 6c 63 22 29 | ad-file.(concat.filename.".elc") |
| 1e20 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 65 20 6f 6c 64 20 77 61 79 20 75 73 65 64 | )............;;.the.old.way.used |
| 1e40 | 20 75 6e 69 71 75 65 20 73 79 6d 62 6f 6c 73 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6d 62 | .unique.symbols............(symb |
| 1e60 | 6f 6c 2d 76 61 6c 75 65 20 28 69 6e 74 65 72 6e 20 73 6f 75 72 63 65 2d 66 69 6c 65 6e 61 6d 65 | ol-value.(intern.source-filename |
| 1e80 | 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 76 61 72 20 64 62 2d 68 61 73 68 2d 64 6f 2d 6e 6f 74 | ))))))))..(defvar.db-hash-do-not |
| 1ea0 | 2d 73 61 76 65 20 6e 69 6c 0a 20 20 22 49 66 20 60 74 27 20 74 68 65 6e 20 64 6f 20 6e 6f 74 20 | -save.nil..."If.`t'.then.do.not. |
| 1ec0 | 73 61 76 65 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 0a 0a 54 68 69 73 20 69 73 20 76 65 72 79 | save.the.database...This.is.very |
| 1ee0 | 20 75 73 65 66 75 6c 20 66 6f 72 20 74 65 73 74 69 6e 67 2e 22 29 0a 0a 28 64 65 66 75 6e 20 64 | .useful.for.testing.")..(defun.d |
| 1f00 | 62 2d 68 61 73 68 2f 73 61 76 65 20 28 64 62 29 0a 20 20 22 53 61 76 65 73 20 74 68 65 20 44 42 | b-hash/save.(db)..."Saves.the.DB |
| 1f20 | 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 64 62 2d 68 61 73 68 2d 64 6f 2d 6e 6f 74 2d 73 61 76 65 | ."...(unless.db-hash-do-not-save |
| 1f40 | 0a 20 20 20 20 28 6c 65 74 20 28 28 66 69 6c 65 6e 61 6d 65 20 28 70 6c 69 73 74 2d 67 65 74 20 | .....(let.((filename.(plist-get. |
| 1f60 | 64 62 20 3a 66 69 6c 65 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 66 69 6c 65 | db.:filename))).......(when.file |
| 1f80 | 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 3b 3b 20 4d 61 6b 65 20 74 68 65 20 70 61 72 65 6e 74 20 | name.........;;.Make.the.parent. |
| 1fa0 | 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 74 68 65 20 64 62 20 69 66 20 69 74 20 64 6f 65 73 6e | directory.for.the.db.if.it.doesn |
| 1fc0 | 27 74 20 65 78 69 73 74 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 69 72 20 28 66 69 6c | 't.exist.........(let.((dir.(fil |
| 1fe0 | 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 6e 61 6d 65 29 29 29 0a 20 20 20 | e-name-directory.filename))).... |
| 2000 | 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 64 69 | .......(unless.(file-exists-p.di |
| 2020 | 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 64 69 72 65 63 74 6f 72 79 20 64 | r).............(make-directory.d |
| 2040 | 69 72 20 74 29 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 4e 6f 77 20 73 74 6f 72 65 20 74 68 65 | ir.t))).........;;.Now.store.the |
| 2060 | 20 64 61 74 61 0a 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 66 69 6c 65 20 28 63 | .data.........(with-temp-file.(c |
| 2080 | 6f 6e 63 61 74 20 66 69 6c 65 6e 61 6d 65 20 22 2e 65 6c 22 29 0a 20 20 20 20 20 20 20 20 20 20 | oncat.filename.".el")........... |
| 20a0 | 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 | (erase-buffer)...........(let.(( |
| 20c0 | 66 6d 74 2d 6f 62 6a 20 28 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | fmt-obj.(format................. |
| 20e0 | 20 20 20 20 20 20 20 20 20 20 22 28 74 68 72 6f 77 20 27 72 65 74 75 72 6e 20 25 53 29 22 0a 20 | .........."(throw.'return.%S)".. |
| 2100 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6c 69 73 74 2d | .........................(plist- |
| 2120 | 67 65 74 20 64 62 20 3a 64 62 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 | get.db.:db)))).............(inse |
| 2140 | 72 74 20 66 6d 74 2d 6f 62 6a 29 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 41 6e 64 20 63 6f 6d | rt.fmt-obj))).........;;.And.com |
| 2160 | 70 69 6c 65 20 69 74 20 61 6e 64 20 64 65 6c 65 74 65 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 0a | pile.it.and.delete.the.original. |
| 2180 | 20 20 20 20 20 20 20 20 28 62 79 74 65 2d 63 6f 6d 70 69 6c 65 2d 66 69 6c 65 20 28 63 6f 6e 63 | ........(byte-compile-file.(conc |
| 21a0 | 61 74 20 66 69 6c 65 6e 61 6d 65 20 22 2e 65 6c 22 29 29 0a 20 20 20 20 20 20 20 20 28 64 65 6c | at.filename.".el")).........(del |
| 21c0 | 65 74 65 2d 66 69 6c 65 20 28 63 6f 6e 63 61 74 20 66 69 6c 65 6e 61 6d 65 20 22 2e 65 6c 22 29 | ete-file.(concat.filename.".el") |
| 21e0 | 29 29 29 29 29 0a 0a 0a 28 64 65 66 75 6e 20 64 62 2d 68 61 73 68 2d 67 65 74 20 28 6b 65 79 20 | )))))...(defun.db-hash-get.(key. |
| 2200 | 64 62 29 0a 20 20 28 6c 65 74 20 28 28 76 20 28 67 65 74 68 61 73 68 20 6b 65 79 20 28 70 6c 69 | db)...(let.((v.(gethash.key.(pli |
| 2220 | 73 74 2d 67 65 74 20 64 62 20 3a 64 62 29 29 29 29 0a 20 20 20 20 76 29 29 0a 0a 28 64 65 66 75 | st-get.db.:db)))).....v))..(defu |
| 2240 | 6e 20 64 62 2d 68 61 73 68 2d 6d 61 70 20 28 66 75 6e 63 20 64 62 20 26 6f 70 74 69 6f 6e 61 6c | n.db-hash-map.(func.db.&optional |
| 2260 | 20 71 75 65 72 79 29 0a 20 20 22 52 75 6e 20 46 55 4e 43 20 66 6f 72 20 65 76 65 72 79 20 76 61 | .query)..."Run.FUNC.for.every.va |
| 2280 | 6c 75 65 20 69 6e 20 44 42 2e 0a 0a 54 68 65 20 51 55 45 52 59 20 69 73 20 69 67 6e 6f 72 65 64 | lue.in.DB...The.QUERY.is.ignored |
| 22a0 | 2e 20 20 57 65 20 6e 65 76 65 72 20 66 69 6c 74 65 72 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 65 | ...We.never.filter."...(let*.((e |
| 22c0 | 71 75 61 6c 2d 66 6e 20 28 70 6c 69 73 74 2d 67 65 74 20 64 62 20 3a 71 75 65 72 79 2d 65 71 75 | qual-fn.(plist-get.db.:query-equ |
| 22e0 | 61 6c 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 74 65 72 66 6e 20 28 69 66 20 71 75 65 72 | al))..........(filterfn.(if.quer |
| 2300 | 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6b 76 71 75 65 72 | y........................(kvquer |
| 2320 | 79 2d 3e 66 75 6e 63 20 71 75 65 72 79 20 3a 65 71 75 61 6c 2d 66 75 6e 63 20 65 71 75 61 6c 2d | y->func.query.:equal-func.equal- |
| 2340 | 66 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 69 64 65 6e | fn)........................'iden |
| 2360 | 74 69 74 79 29 29 29 0a 20 20 20 20 28 6d 61 70 68 61 73 68 0a 20 20 20 20 20 28 6c 61 6d 62 64 | tity))).....(maphash......(lambd |
| 2380 | 61 20 28 6b 65 79 20 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 66 75 6e 63 | a.(key.value)........(when.(func |
| 23a0 | 61 6c 6c 20 66 69 6c 74 65 72 66 6e 20 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 28 66 75 | all.filterfn.value)..........(fu |
| 23c0 | 6e 63 61 6c 6c 20 66 75 6e 63 20 6b 65 79 20 76 61 6c 75 65 29 29 29 0a 20 20 20 20 20 28 70 6c | ncall.func.key.value)))......(pl |
| 23e0 | 69 73 74 2d 67 65 74 20 64 62 20 3a 64 62 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 62 2d 68 61 | ist-get.db.:db))))..(defun.db-ha |
| 2400 | 73 68 2d 70 75 74 20 28 6b 65 79 20 76 61 6c 75 65 20 64 62 29 0a 20 20 28 6c 65 74 20 28 28 76 | sh-put.(key.value.db)...(let.((v |
| 2420 | 20 28 70 75 74 68 61 73 68 20 6b 65 79 20 76 61 6c 75 65 20 28 70 6c 69 73 74 2d 67 65 74 20 64 | .(puthash.key.value.(plist-get.d |
| 2440 | 62 20 3a 64 62 29 29 29 29 0a 20 20 20 20 3b 3b 20 49 6e 73 74 65 61 64 20 6f 66 20 73 61 76 69 | b.:db)))).....;;.Instead.of.savi |
| 2460 | 6e 67 20 65 76 65 72 79 20 74 69 6d 65 20 77 65 20 63 6f 75 6c 64 20 73 69 6d 70 6c 79 20 73 69 | ng.every.time.we.could.simply.si |
| 2480 | 67 6e 61 6c 20 61 6e 20 75 70 64 61 74 65 0a 20 20 20 20 3b 3b 20 61 6e 64 20 68 61 76 65 20 61 | gnal.an.update.....;;.and.have.a |
| 24a0 | 20 74 69 6d 65 72 20 64 6f 20 74 68 65 20 61 63 74 75 61 6c 20 73 61 76 65 2e 0a 20 20 20 20 28 | .timer.do.the.actual.save......( |
| 24c0 | 64 62 2d 68 61 73 68 2f 73 61 76 65 20 64 62 29 0a 20 20 20 20 76 29 29 0a 0a 28 64 65 66 76 61 | db-hash/save.db).....v))..(defva |
| 24e0 | 72 20 64 62 2f 68 61 73 68 2d 63 6c 65 61 72 2d 68 69 73 74 6f 72 79 20 6e 69 6c 0a 20 20 22 48 | r.db/hash-clear-history.nil..."H |
| 2500 | 69 73 74 6f 72 79 20 76 61 72 69 61 62 6c 65 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6e 67 20 72 | istory.variable.for.completing.r |
| 2520 | 65 61 64 2e 22 29 0a 0a 28 64 65 66 75 6e 20 64 62 2d 68 61 73 68 2d 63 6c 65 61 72 20 28 64 62 | ead.")..(defun.db-hash-clear.(db |
| 2540 | 29 0a 20 20 22 43 6c 65 61 72 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 44 42 20 28 61 20 68 | )..."Clear.the.specified.DB.(a.h |
| 2560 | 61 73 68 2d 64 62 29 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 28 6c 69 73 | ash-db)."...(interactive....(lis |
| 2580 | 74 20 28 73 79 6d 62 6f 6c 2d 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 74 65 72 | t.(symbol-value...........(inter |
| 25a0 | 6e 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 0a 20 20 | n............(completing-read... |
| 25c0 | 20 20 20 20 20 20 20 20 20 20 22 44 61 74 61 62 61 73 65 3a 20 22 0a 20 20 20 20 20 20 20 20 20 | .........."Database:.".......... |
| 25e0 | 20 20 20 6f 62 61 72 72 61 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 | ...obarray.............nil...... |
| 2600 | 20 20 20 20 20 20 20 27 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 | .......'t.............nil....... |
| 2620 | 20 20 20 20 20 20 27 64 62 2f 68 61 73 68 2d 63 6c 65 61 72 2d 68 69 73 74 6f 72 79 29 29 29 29 | ......'db/hash-clear-history)))) |
| 2640 | 29 0a 20 20 28 63 6c 72 68 61 73 68 20 28 70 6c 69 73 74 2d 67 65 74 20 64 62 20 3a 64 62 29 29 | )...(clrhash.(plist-get.db.:db)) |
| 2660 | 0a 20 20 28 69 66 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 28 70 6c 69 73 74 2d 67 65 74 | ...(if.(file-exists-p.(plist-get |
| 2680 | 20 64 62 20 3a 66 69 6c 65 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 66 69 | .db.:filename)).......(delete-fi |
| 26a0 | 6c 65 20 28 70 6c 69 73 74 2d 67 65 74 20 64 62 20 3a 66 69 6c 65 6e 61 6d 65 29 29 29 29 0a 0a | le.(plist-get.db.:filename)))).. |
| 26c0 | 0a 3b 3b 20 46 69 6c 74 65 72 20 64 62 20 2d 20 6c 65 74 27 73 20 79 6f 75 20 66 69 6c 74 65 72 | .;;.Filter.db.-.let's.you.filter |
| 26e0 | 20 61 6e 6f 74 68 65 72 20 64 62 0a 0a 28 64 65 66 75 6e 20 64 62 2d 66 69 6c 74 65 72 2d 67 65 | .another.db..(defun.db-filter-ge |
| 2700 | 74 20 28 6b 65 79 20 64 62 29 0a 20 20 28 6c 65 74 2a 20 28 28 66 69 6c 74 65 72 2d 66 75 6e 63 | t.(key.db)...(let*.((filter-func |
| 2720 | 20 28 70 6c 69 73 74 2d 67 65 74 20 64 62 20 3a 66 69 6c 74 65 72 29 29 0a 20 20 20 20 20 20 20 | .(plist-get.db.:filter))........ |
| 2740 | 20 20 28 6f 72 69 67 69 6e 20 28 70 6c 69 73 74 2d 67 65 74 20 64 62 20 3a 73 6f 75 72 63 65 29 | ..(origin.(plist-get.db.:source) |
| 2760 | 29 0a 20 20 20 20 20 20 20 20 20 28 76 61 6c 75 65 20 28 64 62 2d 67 65 74 20 6b 65 79 20 6f 72 | )..........(value.(db-get.key.or |
| 2780 | 69 67 69 6e 29 29 29 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 66 69 6c 74 65 72 2d 66 75 6e 63 | igin))).....(funcall.filter-func |
| 27a0 | 20 6b 65 79 20 76 61 6c 75 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 62 2d 66 69 6c 74 65 72 2d | .key.value)))..(defun.db-filter- |
| 27c0 | 70 75 74 20 28 6b 65 79 20 76 61 6c 75 65 20 64 62 29 0a 20 20 28 6c 65 74 2a 20 28 28 66 69 6c | put.(key.value.db)...(let*.((fil |
| 27e0 | 74 65 72 2d 66 75 6e 63 20 28 70 6c 69 73 74 2d 67 65 74 20 64 62 20 3a 66 69 6c 74 65 72 29 29 | ter-func.(plist-get.db.:filter)) |
| 2800 | 0a 20 20 20 20 20 20 20 20 20 28 6f 72 69 67 69 6e 20 28 70 6c 69 73 74 2d 67 65 74 20 64 62 20 | ..........(origin.(plist-get.db. |
| 2820 | 3a 73 6f 75 72 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 74 20 28 64 62 2d 70 75 74 20 | :source))..........(ret.(db-put. |
| 2840 | 6b 65 79 20 76 61 6c 75 65 20 6f 72 69 67 69 6e 29 29 29 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c | key.value.origin))).....(funcall |
| 2860 | 20 66 69 6c 74 65 72 2d 66 75 6e 63 20 6b 65 79 20 72 65 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 | .filter-func.key.ret)))..(defun. |
| 2880 | 64 62 2d 66 69 6c 74 65 72 2d 6d 61 70 20 28 6b 65 79 20 64 62 20 26 6f 70 74 69 6f 6e 61 6c 20 | db-filter-map.(key.db.&optional. |
| 28a0 | 71 75 65 72 79 29 0a 20 20 28 6c 65 74 2a 20 28 28 66 69 6c 74 65 72 2d 66 75 6e 63 20 28 70 6c | query)...(let*.((filter-func.(pl |
| 28c0 | 69 73 74 2d 67 65 74 20 64 62 20 3a 66 69 6c 74 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 28 6f | ist-get.db.:filter))..........(o |
| 28e0 | 72 69 67 69 6e 20 28 70 6c 69 73 74 2d 67 65 74 20 64 62 20 3a 73 6f 75 72 63 65 29 29 29 0a 20 | rigin.(plist-get.db.:source))).. |
| 2900 | 20 20 20 28 6d 61 70 63 61 72 0a 20 20 20 20 20 66 69 6c 74 65 72 2d 66 75 6e 63 0a 20 20 20 20 | ...(mapcar......filter-func..... |
| 2920 | 20 28 64 62 2d 6d 61 70 20 6b 65 79 20 6f 72 69 67 69 6e 20 71 75 65 72 79 29 29 29 29 0a 0a 28 | .(db-map.key.origin.query))))..( |
| 2940 | 64 65 66 75 6e 20 64 62 2d 66 69 6c 74 65 72 20 28 72 65 66 65 72 65 6e 63 65 29 0a 20 20 22 4d | defun.db-filter.(reference)..."M |
| 2960 | 61 6b 65 20 61 20 64 61 74 61 62 61 73 65 20 6f 62 6a 65 63 74 20 74 68 61 74 20 69 73 20 61 20 | ake.a.database.object.that.is.a. |
| 2980 | 66 69 6c 74 65 72 20 61 72 6f 75 6e 64 20 61 6e 6f 74 68 65 72 2e 0a 0a 54 68 65 20 72 65 66 65 | filter.around.another...The.refe |
| 29a0 | 72 65 6e 63 65 20 73 68 6f 75 6c 64 20 6c 6f 6f 6b 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 | rence.should.look.something.like |
| 29c0 | 3a 0a 0a 20 27 28 64 62 2d 66 69 6c 74 65 72 0a 20 20 20 20 3a 73 6f 75 72 63 65 20 28 64 62 2d | :...'(db-filter.....:source.(db- |
| 29e0 | 68 61 73 68 20 3a 66 69 6c 65 6e 61 6d 65 20 2e 2e 2e 2e 29 0a 20 20 20 20 3a 66 69 6c 74 65 72 | hash.:filename.....).....:filter |
| 2a00 | 20 28 6c 61 6d 62 64 61 20 28 76 61 6c 75 65 29 20 2e 2e 2e 29 0a 0a 54 68 65 20 60 3a 66 69 6c | .(lambda.(value)....)..The.`:fil |
| 2a20 | 74 65 72 27 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 32 20 61 72 67 75 6d 65 6e 74 73 3a | ter'.function.takes.2.arguments: |
| 2a40 | 20 4b 45 59 20 61 6e 64 20 56 41 4c 55 45 20 77 69 74 68 0a 56 41 4c 55 45 20 62 65 69 6e 67 20 | .KEY.and.VALUE.with.VALUE.being. |
| 2a60 | 74 68 65 20 72 65 74 75 72 6e 65 64 20 76 61 6c 75 65 20 66 72 6f 6d 20 74 68 65 20 60 3a 73 6f | the.returned.value.from.the.`:so |
| 2a80 | 75 72 63 65 27 20 64 61 74 61 62 61 73 65 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 72 65 66 2d 70 | urce'.database."...(let*.((ref-p |
| 2aa0 | 6c 69 73 74 20 28 63 64 72 20 72 65 66 65 72 65 6e 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 | list.(cdr.reference))..........( |
| 2ac0 | 64 62 20 28 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 67 65 74 20 27 64 62 2d | db.(list...............:get.'db- |
| 2ae0 | 66 69 6c 74 65 72 2d 67 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 70 75 74 20 27 64 | filter-get...............:put.'d |
| 2b00 | 62 2d 66 69 6c 74 65 72 2d 70 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6d 61 70 20 | b-filter-put...............:map. |
| 2b20 | 27 64 62 2d 66 69 6c 74 65 72 2d 6d 61 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 66 69 | 'db-filter-map...............:fi |
| 2b40 | 6c 74 65 72 20 28 70 6c 69 73 74 2d 67 65 74 20 72 65 66 2d 70 6c 69 73 74 20 3a 66 69 6c 74 65 | lter.(plist-get.ref-plist.:filte |
| 2b60 | 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 73 6f 75 72 63 65 20 28 70 6c 69 73 74 2d | r)...............:source.(plist- |
| 2b80 | 67 65 74 20 72 65 66 2d 70 6c 69 73 74 20 3a 73 6f 75 72 63 65 29 29 29 29 0a 20 20 20 20 64 62 | get.ref-plist.:source)))).....db |
| 2ba0 | 29 29 0a 0a 28 70 75 74 68 61 73 68 20 27 64 62 2d 66 69 6c 74 65 72 20 27 64 62 2d 66 69 6c 74 | ))..(puthash.'db-filter.'db-filt |
| 2bc0 | 65 72 20 64 62 2f 74 79 70 65 73 29 0a 0a 28 64 65 66 75 6e 20 64 62 2d 63 68 61 6e 67 65 2d 74 | er.db/types)..(defun.db-change-t |
| 2be0 | 69 6d 65 73 74 61 6d 70 20 28 29 0a 20 20 22 50 6c 61 63 65 20 61 20 74 69 6d 65 73 74 61 6d 70 | imestamp.()..."Place.a.timestamp |
| 2c00 | 20 69 6e 20 74 68 65 20 6b 69 6c 6c 2d 72 69 6e 67 20 66 6f 72 20 61 20 64 62 20 63 68 61 6e 67 | .in.the.kill-ring.for.a.db.chang |
| 2c20 | 65 20 6c 6f 67 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6b 69 6c 6c 2d | e.log."...(interactive)...(kill- |
| 2c40 | 6e 65 77 20 28 66 6f 72 6d 61 74 2d 74 69 6d 65 2d 73 74 72 69 6e 67 20 22 5c 22 25 59 25 4d 25 | new.(format-time-string."\"%Y%M% |
| 2c60 | 64 25 48 25 4d 25 53 25 4e 5c 22 22 28 63 75 72 72 65 6e 74 2d 74 69 6d 65 29 29 29 29 0a 0a 28 | d%H%M%S%N\""(current-time))))..( |
| 2c80 | 64 65 66 6d 61 63 72 6f 20 64 62 2d 63 68 61 6e 67 65 20 28 63 68 61 6e 67 65 2d 64 62 20 74 69 | defmacro.db-change.(change-db.ti |
| 2ca0 | 6d 65 73 74 61 6d 70 20 26 72 65 73 74 20 63 68 61 6e 67 65 29 0a 20 20 22 44 6f 20 43 48 41 4e | mestamp.&rest.change)..."Do.CHAN |
| 2cc0 | 47 45 20 61 6e 64 20 6d 61 6b 65 20 61 20 72 65 63 6f 72 64 20 69 6e 20 74 68 65 20 43 48 41 4e | GE.and.make.a.record.in.the.CHAN |
| 2ce0 | 47 45 2d 44 42 20 77 69 74 68 20 54 49 4d 45 53 54 41 4d 50 2e 22 0a 20 20 28 64 65 63 6c 61 72 | GE-DB.with.TIMESTAMP."...(declar |
| 2d00 | 65 20 28 69 6e 64 65 6e 74 20 32 29 29 0a 20 20 28 6c 65 74 20 28 28 63 64 62 76 20 28 6d 61 6b | e.(indent.2))...(let.((cdbv.(mak |
| 2d20 | 65 2d 73 79 6d 62 6f 6c 20 22 63 64 62 76 22 29 29 0a 20 20 20 20 20 20 20 20 28 74 73 76 20 28 | e-symbol."cdbv")).........(tsv.( |
| 2d40 | 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 74 73 76 22 29 29 29 0a 20 20 60 28 6c 65 74 20 28 28 2c | make-symbol."tsv")))...`(let.((, |
| 2d60 | 63 64 62 76 20 2c 63 68 61 6e 67 65 2d 64 62 29 0a 20 20 20 20 20 20 20 20 20 28 2c 74 73 76 20 | cdbv.,change-db)..........(,tsv. |
| 2d80 | 2c 74 69 6d 65 73 74 61 6d 70 29 29 0a 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 64 62 2d 67 65 | ,timestamp))......(unless.(db-ge |
| 2da0 | 74 20 2c 74 73 76 20 2c 63 64 62 76 29 0a 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 | t.,tsv.,cdbv)........(progn..... |
| 2dc0 | 20 20 20 20 20 28 70 72 6f 67 6e 20 2c 40 63 68 61 6e 67 65 29 0a 20 20 20 20 20 20 20 20 20 28 | .....(progn.,@change)..........( |
| 2de0 | 64 62 2d 70 75 74 20 2c 74 73 76 20 28 6c 69 73 74 20 28 63 6f 6e 73 20 22 74 69 6d 65 73 74 61 | db-put.,tsv.(list.(cons."timesta |
| 2e00 | 6d 70 22 20 2c 74 73 76 29 29 20 2c 63 64 62 76 29 29 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 | mp".,tsv)).,cdbv))))))..(provide |
| 2e20 | 20 27 64 62 29 0a 0a 3b 3b 3b 20 64 62 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 | .'db)..;;;.db.el.ends.here...... |
| 2e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 30a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 30c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 30e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 31a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 31c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 31e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 32a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 32c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 32e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 33a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 33c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 33e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 34a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 34c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 34e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 35a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 35c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 35e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 36a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 36c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 36e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 37a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 37c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 37e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 38a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 38c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 38e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 39a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 39c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 39e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 40a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 40c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 40e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |