| ofs | hex dump | ascii | 
|---|
| 0000 |  65 6c 2d 6d 6f 63 6b 2d 32 30 32 32 30 36 32 35    2e 31 39 34 39 2f 00 00 00 00 00 00 00 00 00 00  | el-mock-20220625.1949/.......... | 
| 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 32 33 35 31 00 20 35 00 00 00  | 0000000.00000000000.012351..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 |  65 6c 2d 6d 6f 63 6b 2d 32 30 32 32 30 36 32 35    2e 31 39 34 39 2f 65 6c 2d 6d 6f 63 6b 2d 70 6b  | el-mock-20220625.1949/el-mock-pk | 
| 0220 |  67 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | g.el............................ | 
| 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 36 34 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 35 30 30 37 00 20 30 00 00 00  | 0000664.00000000000.015007..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 65 6c 2d 6d 6f 63 6b 22 20 22 32    30 32 32 30 36 32 35 2e 31 39 34 39 22 0a 20 20  | age."el-mock"."20220625.1949"... | 
| 0460 |  22 54 69 6e 79 20 4d 6f 63 6b 20 61 6e 64 20 53    74 75 62 20 66 72 61 6d 65 77 6f 72 6b 20 69 6e  | "Tiny.Mock.and.Stub.framework.in | 
| 0480 |  20 45 6d 61 63 73 20 4c 69 73 70 2e 22 0a 20 20    28 29 0a 20 20 3a 75 72 6c 20 22 68 74 74 70 3a  | .Emacs.Lisp."...()...:url."http: | 
| 04a0 |  2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 65 6a    65 65 70 2f 65 6c 2d 6d 6f 63 6b 2e 65 6c 22 0a  | //github.com/rejeep/el-mock.el". | 
| 04c0 |  20 20 3a 63 6f 6d 6d 69 74 20 22 36 63 66 62 63    39 64 65 38 66 31 39 32 37 32 39 35 64 63 61 36  | ..:commit."6cfbc9de8f1927295dca6 | 
| 04e0 |  38 36 34 39 30 37 66 65 34 31 35 36 62 64 37 31    39 31 30 22 0a 20 20 3a 72 65 76 64 65 73 63 20  | 864907fe4156bd71910"...:revdesc. | 
| 0500 |  22 36 63 66 62 63 39 64 65 38 66 31 39 22 0a 20    20 3a 6b 65 79 77 6f 72 64 73 20 27 28 22 6c 69  | "6cfbc9de8f19"...:keywords.'("li | 
| 0520 |  73 70 22 20 22 74 65 73 74 69 6e 67 22 20 22 75    6e 69 74 74 65 73 74 22 29 0a 20 20 3a 61 75 74  | sp"."testing"."unittest")...:aut | 
| 0540 |  68 6f 72 73 20 27 28 28 22 72 75 62 69 6b 69 74    63 68 22 20 2e 20 22 72 75 62 69 6b 69 74 63 68  | hors.'(("rubikitch"..."rubikitch | 
| 0560 |  40 72 75 62 79 2d 6c 61 6e 67 2e 6f 72 67 22 29    29 0a 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 73  | @ruby-lang.org"))...:maintainers | 
| 0580 |  20 27 28 28 22 4a 6f 68 61 6e 20 41 6e 64 65 72    73 73 6f 6e 22 20 2e 20 22 6a 6f 68 61 6e 2e 72  | .'(("Johan.Andersson"..."johan.r | 
| 05a0 |  65 6a 65 65 70 40 67 6d 61 69 6c 2e 63 6f 6d 22    29 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 00  | ejeep@gmail.com")))............. | 
| 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 |  65 6c 2d 6d 6f 63 6b 2d 32 30 32 32 30 36 32 35    2e 31 39 34 39 2f 65 6c 2d 6d 6f 63 6b 2e 65 6c  | el-mock-20220625.1949/el-mock.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 37 32 37 32 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 34 32 33 34 00 20 30 00 00 00  | 0027272.00000000000.014234..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 65 6c 2d 6d 6f 63 6b 2e 65 6c 20 2d    2d 2d 20 54 69 6e 79 20 4d 6f 63 6b 20 61 6e 64  | ;;;.el-mock.el.---.Tiny.Mock.and | 
| 0820 |  20 53 74 75 62 20 66 72 61 6d 65 77 6f 72 6b 20    69 6e 20 45 6d 61 63 73 20 4c 69 73 70 20 20 2d  | .Stub.framework.in.Emacs.Lisp..- | 
| 0840 |  2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69    6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43  | *-.lexical-binding:.t;.-*-..;;.C | 
| 0860 |  6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30    38 2c 20 32 30 31 30 2c 20 32 30 31 32 20 20 72  | opyright.(C).2008,.2010,.2012..r | 
| 0880 |  75 62 69 6b 69 74 63 68 0a 0a 3b 3b 20 41 75 74    68 6f 72 3a 20 72 75 62 69 6b 69 74 63 68 20 3c  | ubikitch..;;.Author:.rubikitch.< | 
| 08a0 |  72 75 62 69 6b 69 74 63 68 40 72 75 62 79 2d 6c    61 6e 67 2e 6f 72 67 3e 0a 3b 3b 20 4d 61 69 6e  | rubikitch@ruby-lang.org>.;;.Main | 
| 08c0 |  74 61 69 6e 65 72 3a 20 4a 6f 68 61 6e 20 41 6e    64 65 72 73 73 6f 6e 20 3c 6a 6f 68 61 6e 2e 72  | tainer:.Johan.Andersson.<johan.r | 
| 08e0 |  65 6a 65 65 70 40 67 6d 61 69 6c 2e 63 6f 6d 3e    0a 3b 3b 20 50 61 63 6b 61 67 65 2d 56 65 72 73  | ejeep@gmail.com>.;;.Package-Vers | 
| 0900 |  69 6f 6e 3a 20 32 30 32 32 30 36 32 35 2e 31 39    34 39 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65  | ion:.20220625.1949.;;.Package-Re | 
| 0920 |  76 69 73 69 6f 6e 3a 20 36 63 66 62 63 39 64 65    38 66 31 39 0a 3b 3b 20 4b 65 79 77 6f 72 64 73  | vision:.6cfbc9de8f19.;;.Keywords | 
| 0940 |  3a 20 6c 69 73 70 2c 20 74 65 73 74 69 6e 67 2c    20 75 6e 69 74 74 65 73 74 0a 3b 3b 20 55 52 4c  | :.lisp,.testing,.unittest.;;.URL | 
| 0960 |  3a 20 68 74 74 70 3a 2f 2f 67 69 74 68 75 62 2e    63 6f 6d 2f 72 65 6a 65 65 70 2f 65 6c 2d 6d 6f  | :.http://github.com/rejeep/el-mo | 
| 0980 |  63 6b 2e 65 6c 0a 0a 3b 3b 20 54 68 69 73 20 66    69 6c 65 20 69 73 20 66 72 65 65 20 73 6f 66 74  | ck.el..;;.This.file.is.free.soft | 
| 09a0 |  77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65    64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e  | ware;.you.can.redistribute.it.an | 
| 09c0 |  64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69    74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d  | d/or.modify.;;.it.under.the.term | 
| 09e0 |  73 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 69 63 65  | s.of.the.GNU.General.Public.Lice | 
| 0a00 |  6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64    20 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20  | nse.as.published.by.;;.the.Free. | 
| 0a20 |  53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74    69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73  | Software.Foundation;.either.vers | 
| 0a40 |  69 6f 6e 20 32 2c 20 6f 72 20 28 61 74 20 79 6f    75 72 20 6f 70 74 69 6f 6e 29 0a 3b 3b 20 61 6e  | ion.2,.or.(at.your.option).;;.an | 
| 0a60 |  79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e    0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69  | y.later.version...;;.This.file.i | 
| 0a80 |  73 20 64 69 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  | s.distributed.in.the.hope.that.i | 
| 0aa0 |  74 20 77 69 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  | t.will.be.useful,.;;.but.WITHOUT | 
| 0ac0 |  20 41 4e 59 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  | .ANY.WARRANTY;.without.even.the. | 
| 0ae0 |  69 6d 70 6c 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  | implied.warranty.of.;;.MERCHANTA | 
| 0b00 |  42 49 4c 49 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  | BILITY.or.FITNESS.FOR.A.PARTICUL | 
| 0b20 |  41 52 20 50 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  | AR.PURPOSE...See.the.;;.GNU.Gene | 
| 0b40 |  72 61 6c 20 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  | ral.Public.License.for.more.deta | 
| 0b60 |  69 6c 73 2e 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  | ils...;;.You.should.have.receive | 
| 0b80 |  64 20 61 20 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  | d.a.copy.of.the.GNU.General.Publ | 
| 0ba0 |  69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c    6f 6e 67 20 77 69 74 68 20 47 4e 55 20 45 6d 61  | ic.License.;;.along.with.GNU.Ema | 
| 0bc0 |  63 73 3b 20 73 65 65 20 74 68 65 20 66 69 6c 65    20 43 4f 50 59 49 4e 47 2e 20 20 49 66 20 6e 6f  | cs;.see.the.file.COPYING...If.no | 
| 0be0 |  74 2c 20 77 72 69 74 65 20 74 6f 0a 3b 3b 20 74    68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65  | t,.write.to.;;.the.Free.Software | 
| 0c00 |  20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63    2e 2c 20 35 31 20 46 72 61 6e 6b 6c 69 6e 20 53  | .Foundation,.Inc.,.51.Franklin.S | 
| 0c20 |  74 72 65 65 74 2c 20 46 69 66 74 68 20 46 6c 6f    6f 72 2c 0a 3b 3b 20 42 6f 73 74 6f 6e 2c 20 4d  | treet,.Fifth.Floor,.;;.Boston,.M | 
| 0c40 |  41 20 30 32 31 31 30 2d 31 33 30 31 2c 20 55 53    41 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61  | A.02110-1301,.USA...;;;.Commenta | 
| 0c60 |  72 79 3a 0a 0a 3b 3b 20 45 6d 61 63 73 20 4c 69    73 70 20 4d 6f 63 6b 20 69 73 20 61 20 6c 69 62  | ry:..;;.Emacs.Lisp.Mock.is.a.lib | 
| 0c80 |  72 61 72 79 20 66 6f 72 20 6d 6f 63 6b 69 6e 67    20 61 6e 64 20 73 74 75 62 62 69 6e 67 20 75 73  | rary.for.mocking.and.stubbing.us | 
| 0ca0 |  69 6e 67 0a 3b 3b 20 72 65 61 64 61 62 6c 65 20    73 79 6e 74 61 78 2e 20 4d 6f 73 74 20 63 6f 6d  | ing.;;.readable.syntax..Most.com | 
| 0cc0 |  6d 6f 6e 6c 79 20 45 6d 61 63 73 20 4c 69 73 70    20 4d 6f 63 6b 20 69 73 20 75 73 65 64 20 69 6e  | monly.Emacs.Lisp.Mock.is.used.in | 
| 0ce0 |  0a 3b 3b 20 63 6f 6e 6a 75 6e 63 74 69 6f 6e 20    77 69 74 68 20 45 6d 61 63 73 20 4c 69 73 70 20  | .;;.conjunction.with.Emacs.Lisp. | 
| 0d00 |  45 78 70 65 63 74 61 74 69 6f 6e 73 2c 20 62 75    74 20 69 74 20 63 61 6e 20 62 65 20 75 73 65 64  | Expectations,.but.it.can.be.used | 
| 0d20 |  20 69 6e 0a 3b 3b 20 6f 74 68 65 72 20 63 6f 6e    74 65 78 74 73 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d  | .in.;;.other.contexts...;;;.Comm | 
| 0d40 |  61 6e 64 73 3a 0a 3b 3b 0a 3b 3b 20 42 65 6c 6f    77 20 61 72 65 20 63 6f 6d 70 6c 65 74 65 20 63  | ands:.;;.;;.Below.are.complete.c | 
| 0d60 |  6f 6d 6d 61 6e 64 20 6c 69 73 74 3a 0a 3b 3b 0a    3b 3b 0a 3b 3b 3b 20 43 75 73 74 6f 6d 69 7a 61  | ommand.list:.;;.;;.;;;.Customiza | 
| 0d80 |  62 6c 65 20 4f 70 74 69 6f 6e 73 3a 0a 3b 3b 0a    3b 3b 20 42 65 6c 6f 77 20 61 72 65 20 63 75 73  | ble.Options:.;;.;;.Below.are.cus | 
| 0da0 |  74 6f 6d 69 7a 61 62 6c 65 20 6f 70 74 69 6f 6e    20 6c 69 73 74 3a 0a 3b 3b 0a 0a 3b 3b 20 45 6d  | tomizable.option.list:.;;..;;.Em | 
| 0dc0 |  61 63 73 20 4c 69 73 70 20 4d 6f 63 6b 20 70 72    6f 76 69 64 65 73 20 74 77 6f 20 73 63 6f 70 65  | acs.Lisp.Mock.provides.two.scope | 
| 0de0 |  20 69 6e 74 65 72 66 61 63 65 20 6f 66 20 6d 6f    63 6b 20 61 6e 64 20 73 74 75 62 3a 0a 3b 3b 20  | .interface.of.mock.and.stub:.;;. | 
| 0e00 |  60 77 69 74 68 2d 6d 6f 63 6b 27 20 61 6e 64 20    60 6d 6f 63 6b 6c 65 74 27 2e 20 60 77 69 74 68  | `with-mock'.and.`mocklet'..`with | 
| 0e20 |  2d 6d 6f 63 6b 27 20 6f 6e 6c 79 20 64 65 66 69    6e 65 73 20 61 0a 3b 3b 20 73 63 6f 70 65 2e 20  | -mock'.only.defines.a.;;.scope.. | 
| 0e40 |  60 6d 6f 63 6b 6c 65 74 27 20 69 73 20 6d 6f 72    65 20 73 6f 70 68 69 73 74 69 63 61 74 65 64 20  | `mocklet'.is.more.sophisticated. | 
| 0e60 |  69 6e 74 65 72 66 61 63 65 20 74 68 61 6e 20 60    77 69 74 68 2d 6d 6f 63 6b 27 3a 0a 3b 3b 20 60  | interface.than.`with-mock':.;;.` | 
| 0e80 |  6d 6f 63 6b 6c 65 74 27 20 64 65 66 69 6e 65 73    20 6c 6f 63 61 6c 20 6d 6f 63 6b 20 61 6e 64 20  | mocklet'.defines.local.mock.and. | 
| 0ea0 |  73 74 75 62 20 6c 69 6b 65 20 60 6c 65 74 27 2c    20 60 66 6c 65 74 27 2c 20 61 6e 64 0a 3b 3b 20  | stub.like.`let',.`flet',.and.;;. | 
| 0ec0 |  60 6d 61 63 72 6f 6c 65 74 27 2e 0a 0a 3b 3b 20    57 69 74 68 69 6e 20 60 77 69 74 68 2d 6d 6f 63  | `macrolet'...;;.Within.`with-moc | 
| 0ee0 |  6b 27 20 62 6f 64 79 20 28 6f 72 20 61 72 67 75    6d 65 6e 74 20 66 75 6e 63 74 69 6f 6e 20 73 70  | k'.body.(or.argument.function.sp | 
| 0f00 |  65 63 69 66 69 65 64 20 69 6e 0a 3b 3b 20 60 6d    6f 63 6b 2d 70 72 6f 74 65 63 74 27 29 2c 20 79  | ecified.in.;;.`mock-protect'),.y | 
| 0f20 |  6f 75 20 63 61 6e 20 63 72 65 61 74 65 20 61 20    6d 6f 63 6b 20 61 6e 64 20 61 20 73 74 75 62 2e  | ou.can.create.a.mock.and.a.stub. | 
| 0f40 |  20 54 6f 20 63 72 65 61 74 65 20 61 0a 3b 3b 20    73 74 75 62 2c 20 75 73 65 20 60 73 74 75 62 27  | .To.create.a.;;.stub,.use.`stub' | 
| 0f60 |  20 6d 61 63 72 6f 2e 20 54 6f 20 63 72 65 61 74    65 20 61 20 6d 6f 63 6b 2c 20 75 73 65 20 60 6d  | .macro..To.create.a.mock,.use.`m | 
| 0f80 |  6f 63 6b 27 20 6d 61 63 72 6f 2e 0a 20 20 0a 3b    3b 20 46 6f 72 20 66 75 72 74 68 65 72 20 69 6e  | ock'.macro.....;;.For.further.in | 
| 0fa0 |  66 6f 72 6d 61 74 69 6f 6e 3a 20 73 65 65 20 64    6f 63 73 74 72 69 6e 67 73 2e 0a 3b 3b 20 5b 45  | formation:.see.docstrings..;;.[E | 
| 0fc0 |  56 41 4c 20 49 54 5d 20 28 64 65 73 63 72 69 62    65 2d 66 75 6e 63 74 69 6f 6e 20 27 77 69 74 68  | VAL.IT].(describe-function.'with | 
| 0fe0 |  2d 6d 6f 63 6b 29 0a 3b 3b 20 5b 45 56 41 4c 20    49 54 5d 20 28 64 65 73 63 72 69 62 65 2d 66 75  | -mock).;;.[EVAL.IT].(describe-fu | 
| 1000 |  6e 63 74 69 6f 6e 20 27 6d 6f 63 6b 6c 65 74 29    0a 3b 3b 20 5b 45 56 41 4c 20 49 54 5d 20 28 64  | nction.'mocklet).;;.[EVAL.IT].(d | 
| 1020 |  65 73 63 72 69 62 65 2d 66 75 6e 63 74 69 6f 6e    20 27 73 74 75 62 29 0a 3b 3b 20 5b 45 56 41 4c  | escribe-function.'stub).;;.[EVAL | 
| 1040 |  20 49 54 5d 20 28 64 65 73 63 72 69 62 65 2d 66    75 6e 63 74 69 6f 6e 20 27 6d 6f 63 6b 29 0a 0a  | .IT].(describe-function.'mock).. | 
| 1060 |  3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75    69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 65  | ;;;.Code:..(require.'cl-lib).(re | 
| 1080 |  71 75 69 72 65 20 27 61 64 76 69 63 65 29 0a 0a    28 64 65 66 76 61 72 20 2d 73 74 75 62 62 65 64  | quire.'advice)..(defvar.-stubbed | 
| 10a0 |  2d 66 75 6e 63 74 69 6f 6e 73 20 6e 69 6c 29 0a    28 64 65 66 76 61 72 20 2d 6d 6f 63 6b 65 64 2d  | -functions.nil).(defvar.-mocked- | 
| 10c0 |  66 75 6e 63 74 69 6f 6e 73 20 6e 69 6c 29 0a 28    64 65 66 76 61 72 20 6d 6f 63 6b 2d 76 65 72 69  | functions.nil).(defvar.mock-veri | 
| 10e0 |  66 79 2d 6c 69 73 74 20 6e 69 6c 29 0a 28 64 65    66 76 61 72 20 69 6e 2d 6d 6f 63 6b 69 6e 67 20  | fy-list.nil).(defvar.in-mocking. | 
| 1100 |  6e 69 6c 29 0a 0a 3b 3b 3b 3b 20 73 74 75 62 20    73 65 74 75 70 2f 74 65 61 72 64 6f 77 6e 0a 28  | nil)..;;;;.stub.setup/teardown.( | 
| 1120 |  64 65 66 75 6e 20 73 74 75 62 2f 73 65 74 75 70    20 28 66 75 6e 63 73 79 6d 20 76 61 6c 75 65 29  | defun.stub/setup.(funcsym.value) | 
| 1140 |  0a 20 20 28 6d 6f 63 6b 2d 73 75 70 70 72 65 73    73 2d 72 65 64 65 66 69 6e 69 74 69 6f 6e 2d 6d  | ...(mock-suppress-redefinition-m | 
| 1160 |  65 73 73 61 67 65 0a 20 20 20 28 6c 61 6d 62 64    61 20 28 29 0a 20 20 20 20 20 28 77 68 65 6e 20  | essage....(lambda.()......(when. | 
| 1180 |  28 66 62 6f 75 6e 64 70 20 66 75 6e 63 73 79 6d    29 0a 20 20 20 20 20 20 20 28 70 75 74 20 66 75  | (fboundp.funcsym)........(put.fu | 
| 11a0 |  6e 63 73 79 6d 20 27 6d 6f 63 6b 2d 6f 72 69 67    69 6e 61 6c 2d 66 75 6e 63 20 28 73 79 6d 62 6f  | ncsym.'mock-original-func.(symbo | 
| 11c0 |  6c 2d 66 75 6e 63 74 69 6f 6e 20 66 75 6e 63 73    79 6d 29 29 29 0a 20 20 20 20 20 28 66 73 65 74  | l-function.funcsym)))......(fset | 
| 11e0 |  20 66 75 6e 63 73 79 6d 20 60 28 6c 61 6d 62 64    61 20 28 26 72 65 73 74 20 78 29 20 2c 76 61 6c  | .funcsym.`(lambda.(&rest.x).,val | 
| 1200 |  75 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20    73 74 75 62 2f 74 65 61 72 64 6f 77 6e 20 28 66  | ue)))))..(defun.stub/teardown.(f | 
| 1220 |  75 6e 63 73 79 6d 29 0a 20 20 28 6d 6f 63 6b 2d    73 75 70 70 72 65 73 73 2d 72 65 64 65 66 69 6e  | uncsym)...(mock-suppress-redefin | 
| 1240 |  69 74 69 6f 6e 2d 6d 65 73 73 61 67 65 0a 20 20    20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20  | ition-message....(lambda.()..... | 
| 1260 |  20 28 6c 65 74 20 28 28 66 75 6e 63 20 28 67 65    74 20 66 75 6e 63 73 79 6d 20 27 6d 6f 63 6b 2d  | .(let.((func.(get.funcsym.'mock- | 
| 1280 |  6f 72 69 67 69 6e 61 6c 2d 66 75 6e 63 29 29 29    0a 20 20 20 20 20 20 20 28 69 66 20 28 6e 6f 74  | original-func)))........(if.(not | 
| 12a0 |  20 66 75 6e 63 29 0a 20 20 20 20 20 20 20 20 20    20 20 28 66 6d 61 6b 75 6e 62 6f 75 6e 64 20 66  | .func)............(fmakunbound.f | 
| 12c0 |  75 6e 63 73 79 6d 29 0a 20 20 20 20 20 20 20 20    20 28 66 73 65 74 20 66 75 6e 63 73 79 6d 20 66  | uncsym)..........(fset.funcsym.f | 
| 12e0 |  75 6e 63 29 0a 20 20 20 20 20 20 20 20 20 3b 3b    20 6d 61 79 20 62 65 20 75 6e 61 64 76 69 63 65  | unc)..........;;.may.be.unadvice | 
| 1300 |  64 0a 20 20 20 20 20 20 20 20 20 29 29 29 29 29    0a 20 20 20 20 0a 3b 3b 3b 3b 20 6d 6f 63 6b 20  | d..........)))))......;;;;.mock. | 
| 1320 |  73 65 74 75 70 2f 74 65 61 72 64 6f 77 6e 0a 28    64 65 66 75 6e 20 6d 6f 63 6b 2f 73 65 74 75 70  | setup/teardown.(defun.mock/setup | 
| 1340 |  20 28 66 75 6e 63 2d 73 70 65 63 20 76 61 6c 75    65 20 74 69 6d 65 73 29 0a 20 20 28 6d 6f 63 6b  | .(func-spec.value.times)...(mock | 
| 1360 |  2d 73 75 70 70 72 65 73 73 2d 72 65 64 65 66 69    6e 69 74 69 6f 6e 2d 6d 65 73 73 61 67 65 0a 20  | -suppress-redefinition-message.. | 
| 1380 |  20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20    20 20 28 6c 65 74 20 28 28 66 75 6e 63 73 79 6d  | ..(lambda.()......(let.((funcsym | 
| 13a0 |  20 28 63 61 72 20 66 75 6e 63 2d 73 70 65 63 29    29 29 0a 20 20 20 20 20 20 20 28 77 68 65 6e 20  | .(car.func-spec)))........(when. | 
| 13c0 |  28 66 62 6f 75 6e 64 70 20 66 75 6e 63 73 79 6d    29 0a 20 20 20 20 20 20 20 20 20 28 70 75 74 20  | (fboundp.funcsym)..........(put. | 
| 13e0 |  66 75 6e 63 73 79 6d 20 27 6d 6f 63 6b 2d 6f 72    69 67 69 6e 61 6c 2d 66 75 6e 63 20 28 73 79 6d  | funcsym.'mock-original-func.(sym | 
| 1400 |  62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 66 75 6e    63 73 79 6d 29 29 29 0a 20 20 20 20 20 20 20 28  | bol-function.funcsym)))........( | 
| 1420 |  70 75 74 20 66 75 6e 63 73 79 6d 20 27 6d 6f 63    6b 2d 63 61 6c 6c 2d 63 6f 75 6e 74 20 30 29 0a  | put.funcsym.'mock-call-count.0). | 
| 1440 |  20 20 20 20 20 20 20 28 66 73 65 74 20 66 75 6e    63 73 79 6d 0a 20 20 20 20 20 20 20 20 20 20 20  | .......(fset.funcsym............ | 
| 1460 |  20 20 20 20 20 20 20 20 20 20 60 28 6c 61 6d 62    64 61 20 28 26 72 65 73 74 20 61 63 74 75 61 6c  | ..........`(lambda.(&rest.actual | 
| 1480 |  2d 61 72 67 73 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 20 28  | -args).........................( | 
| 14a0 |  63 6c 2d 69 6e 63 66 20 28 67 65 74 20 27 2c 66    75 6e 63 73 79 6d 20 27 6d 6f 63 6b 2d 63 61 6c  | cl-incf.(get.',funcsym.'mock-cal | 
| 14c0 |  6c 2d 63 6f 75 6e 74 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | l-count))....................... | 
| 14e0 |  20 20 28 61 64 64 2d 74 6f 2d 6c 69 73 74 20 27    6d 6f 63 6b 2d 76 65 72 69 66 79 2d 6c 69 73 74  | ..(add-to-list.'mock-verify-list | 
| 1500 |  0a 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 20 20 20 20 20 20  | ................................ | 
| 1520 |  20 20 20 20 20 20 28 6c 69 73 74 20 27 2c 66 75    6e 63 73 79 6d 20 27 2c 28 63 64 72 20 66 75 6e  | ......(list.',funcsym.',(cdr.fun | 
| 1540 |  63 2d 73 70 65 63 29 20 61 63 74 75 61 6c 2d 61    72 67 73 20 2c 74 69 6d 65 73 29 29 0a 20 20 20  | c-spec).actual-args.,times)).... | 
| 1560 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 2c 76 61 6c 75 65 29 29 29 29 29  | .....................,value))))) | 
| 1580 |  29 0a 0a 28 64 65 66 75 6e 20 6e 6f 74 2d 63 61    6c 6c 65 64 2f 73 65 74 75 70 20 28 66 75 6e 63  | )..(defun.not-called/setup.(func | 
| 15a0 |  73 79 6d 29 0a 20 20 28 6d 6f 63 6b 2d 73 75 70    70 72 65 73 73 2d 72 65 64 65 66 69 6e 69 74 69  | sym)...(mock-suppress-redefiniti | 
| 15c0 |  6f 6e 2d 6d 65 73 73 61 67 65 0a 20 20 20 28 6c    61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 28 6c  | on-message....(lambda.()......(l | 
| 15e0 |  65 74 20 28 29 0a 20 20 20 20 20 20 20 28 77 68    65 6e 20 28 66 62 6f 75 6e 64 70 20 66 75 6e 63  | et.()........(when.(fboundp.func | 
| 1600 |  73 79 6d 29 0a 20 20 20 20 20 20 20 20 20 28 70    75 74 20 66 75 6e 63 73 79 6d 20 27 6d 6f 63 6b  | sym)..........(put.funcsym.'mock | 
| 1620 |  2d 6f 72 69 67 69 6e 61 6c 2d 66 75 6e 63 20 28    73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20  | -original-func.(symbol-function. | 
| 1640 |  66 75 6e 63 73 79 6d 29 29 29 0a 20 20 20 20 20    20 20 28 66 73 65 74 20 66 75 6e 63 73 79 6d 0a  | funcsym)))........(fset.funcsym. | 
| 1660 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 26 72  | .....................(lambda.(&r | 
| 1680 |  65 73 74 20 5f 61 63 74 75 61 6c 2d 61 72 67 73    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | est._actual-args)............... | 
| 16a0 |  20 20 20 20 20 20 20 20 20 28 73 69 67 6e 61 6c    20 27 6d 6f 63 6b 2d 65 72 72 6f 72 20 27 28 63  | .........(signal.'mock-error.'(c | 
| 16c0 |  61 6c 6c 65 64 29 29 29 29 29 29 29 29 0a 0a 28    64 65 66 61 6c 69 61 73 20 27 6d 6f 63 6b 2f 74  | alled))))))))..(defalias.'mock/t | 
| 16e0 |  65 61 72 64 6f 77 6e 20 27 73 74 75 62 2f 74 65    61 72 64 6f 77 6e 29 0a 0a 3b 3b 3b 3b 20 6d 6f  | eardown.'stub/teardown)..;;;;.mo | 
| 1700 |  63 6b 20 76 65 72 69 66 79 0a 28 70 75 74 20 27    6d 6f 63 6b 2d 65 72 72 6f 72 20 27 65 72 72 6f  | ck.verify.(put.'mock-error.'erro | 
| 1720 |  72 2d 63 6f 6e 64 69 74 69 6f 6e 73 20 27 28 6d    6f 63 6b 2d 65 72 72 6f 72 20 65 72 72 6f 72 29  | r-conditions.'(mock-error.error) | 
| 1740 |  29 0a 28 70 75 74 20 27 6d 6f 63 6b 2d 65 72 72    6f 72 20 27 65 72 72 6f 72 2d 6d 65 73 73 61 67  | ).(put.'mock-error.'error-messag | 
| 1760 |  65 20 22 4d 6f 63 6b 20 65 72 72 6f 72 22 29 0a    28 64 65 66 75 6e 20 6d 6f 63 6b 2d 76 65 72 69  | e."Mock.error").(defun.mock-veri | 
| 1780 |  66 79 20 28 29 0a 20 20 28 63 6c 2d 6c 6f 6f 70    20 66 6f 72 20 66 20 69 6e 20 2d 6d 6f 63 6b 65  | fy.()...(cl-loop.for.f.in.-mocke | 
| 17a0 |  64 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20    20 20 20 20 20 20 20 77 68 65 6e 20 28 65 71 75  | d-functions............when.(equ | 
| 17c0 |  61 6c 20 30 20 28 67 65 74 20 66 20 27 6d 6f 63    6b 2d 63 61 6c 6c 2d 63 6f 75 6e 74 29 29 0a 20  | al.0.(get.f.'mock-call-count)).. | 
| 17e0 |  20 20 20 20 20 20 20 20 20 20 64 6f 20 28 73 69    67 6e 61 6c 20 27 6d 6f 63 6b 2d 65 72 72 6f 72  | ..........do.(signal.'mock-error | 
| 1800 |  20 28 6c 69 73 74 20 27 6e 6f 74 2d 63 61 6c 6c    65 64 20 66 29 29 29 0a 20 20 28 63 6c 2d 6c 6f  | .(list.'not-called.f)))...(cl-lo | 
| 1820 |  6f 70 20 66 6f 72 20 61 72 67 73 20 69 6e 20 6d    6f 63 6b 2d 76 65 72 69 66 79 2d 6c 69 73 74 0a  | op.for.args.in.mock-verify-list. | 
| 1840 |  20 20 20 20 20 20 20 20 20 20 20 64 6f 0a 20 20    20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20  | ...........do............(apply. | 
| 1860 |  27 6d 6f 63 6b 2d 76 65 72 69 66 79 2d 61 72 67    73 20 61 72 67 73 29 29 29 0a 0a 28 64 65 66 75  | 'mock-verify-args.args)))..(defu | 
| 1880 |  6e 20 6d 6f 63 6b 2d 76 65 72 69 66 79 2d 61 72    67 73 20 28 66 75 6e 63 73 79 6d 20 65 78 70 65  | n.mock-verify-args.(funcsym.expe | 
| 18a0 |  63 74 65 64 2d 61 72 67 73 20 61 63 74 75 61 6c    2d 61 72 67 73 20 65 78 70 65 63 74 65 64 2d 74  | cted-args.actual-args.expected-t | 
| 18c0 |  69 6d 65 73 29 0a 20 20 28 75 6e 6c 65 73 73 20    28 3d 20 28 6c 65 6e 67 74 68 20 65 78 70 65 63  | imes)...(unless.(=.(length.expec | 
| 18e0 |  74 65 64 2d 61 72 67 73 29 20 28 6c 65 6e 67 74    68 20 61 63 74 75 61 6c 2d 61 72 67 73 29 29 0a  | ted-args).(length.actual-args)). | 
| 1900 |  20 20 20 20 28 73 69 67 6e 61 6c 20 27 6d 6f 63    6b 2d 65 72 72 6f 72 20 28 6c 69 73 74 20 28 63  | ....(signal.'mock-error.(list.(c | 
| 1920 |  6f 6e 73 20 66 75 6e 63 73 79 6d 20 65 78 70 65    63 74 65 64 2d 61 72 67 73 29 0a 20 20 20 20 20  | ons.funcsym.expected-args)...... | 
| 1940 |  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 63 6f 6e 73 20 66  | .........................(cons.f | 
| 1960 |  75 6e 63 73 79 6d 20 61 63 74 75 61 6c 2d 61 72    67 73 29 29 29 29 0a 20 20 28 63 6c 2d 6c 6f 6f  | uncsym.actual-args))))...(cl-loo | 
| 1980 |  70 20 66 6f 72 20 65 20 69 6e 20 65 78 70 65 63    74 65 64 2d 61 72 67 73 0a 20 20 20 20 20 20 20  | p.for.e.in.expected-args........ | 
| 19a0 |  20 20 20 20 66 6f 72 20 61 20 69 6e 20 61 63 74    75 61 6c 2d 61 72 67 73 0a 20 20 20 20 20 20 20  | ....for.a.in.actual-args........ | 
| 19c0 |  20 20 20 20 64 6f 0a 20 20 20 20 20 20 20 20 20    20 20 28 75 6e 6c 65 73 73 20 28 65 71 20 65 20  | ....do............(unless.(eq.e. | 
| 19e0 |  27 2a 29 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 3b 20 60 2a 27 20 69 73 20 77 69 6c 64 63  | '*)...............;.`*'.is.wildc | 
| 1a00 |  61 72 64 20 61 72 67 75 6d 65 6e 74 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73  | ard.argument..............(unles | 
| 1a20 |  73 20 28 65 71 75 61 6c 20 28 65 76 61 6c 20 65    29 20 61 29 0a 20 20 20 20 20 20 20 20 20 20 20  | s.(equal.(eval.e).a)............ | 
| 1a40 |  20 20 20 20 28 73 69 67 6e 61 6c 20 27 6d 6f 63    6b 2d 65 72 72 6f 72 20 28 6c 69 73 74 20 28 63  | ....(signal.'mock-error.(list.(c | 
| 1a60 |  6f 6e 73 20 66 75 6e 63 73 79 6d 20 65 78 70 65    63 74 65 64 2d 61 72 67 73 29 0a 20 20 20 20 20  | ons.funcsym.expected-args)...... | 
| 1a80 |  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 20 20 20 20 20 20 20  | ................................ | 
| 1aa0 |  20 20 20 20 28 63 6f 6e 73 20 66 75 6e 63 73 79    6d 20 61 63 74 75 61 6c 2d 61 72 67 73 29 29 29  | ....(cons.funcsym.actual-args))) | 
| 1ac0 |  29 29 29 0a 20 20 28 6c 65 74 20 28 28 61 63 74    75 61 6c 2d 74 69 6d 65 73 20 28 6f 72 20 28 67  | )))...(let.((actual-times.(or.(g | 
| 1ae0 |  65 74 20 66 75 6e 63 73 79 6d 20 27 6d 6f 63 6b    2d 63 61 6c 6c 2d 63 6f 75 6e 74 29 20 30 29 29  | et.funcsym.'mock-call-count).0)) | 
| 1b00 |  29 0a 20 20 20 20 28 61 6e 64 20 65 78 70 65 63    74 65 64 2d 74 69 6d 65 73 20 28 2f 3d 20 65 78  | ).....(and.expected-times.(/=.ex | 
| 1b20 |  70 65 63 74 65 64 2d 74 69 6d 65 73 20 61 63 74    75 61 6c 2d 74 69 6d 65 73 29 0a 20 20 20 20 20  | pected-times.actual-times)...... | 
| 1b40 |  20 20 20 20 28 73 69 67 6e 61 6c 20 27 6d 6f 63    6b 2d 65 72 72 6f 72 20 28 6c 69 73 74 20 28 63  | ....(signal.'mock-error.(list.(c | 
| 1b60 |  6f 6e 73 20 66 75 6e 63 73 79 6d 20 65 78 70 65    63 74 65 64 2d 61 72 67 73 29 0a 20 20 20 20 20  | ons.funcsym.expected-args)...... | 
| 1b80 |  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 20 20 20 20 20 3a 65  | ..............................:e | 
| 1ba0 |  78 70 65 63 74 65 64 2d 74 69 6d 65 73 20 65 78    70 65 63 74 65 64 2d 74 69 6d 65 73 0a 20 20 20  | xpected-times.expected-times.... | 
| 1bc0 |  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 20 20 20 20 20 20 20  | ................................ | 
| 1be0 |  3a 61 63 74 75 61 6c 2d 74 69 6d 65 73 20 61 63    74 75 61 6c 2d 74 69 6d 65 73 29 29 29 29 29 0a  | :actual-times.actual-times))))). | 
| 1c00 |  3b 3b 3b 3b 20 73 74 75 62 2f 6d 6f 63 6b 20 70    72 6f 76 69 64 65 72 0a 28 64 65 66 75 6e 20 6d  | ;;;;.stub/mock.provider.(defun.m | 
| 1c20 |  6f 63 6b 2d 70 72 6f 74 65 63 74 20 28 62 6f 64    79 2d 66 6e 29 0a 20 20 22 54 68 65 20 73 75 62  | ock-protect.(body-fn)..."The.sub | 
| 1c40 |  73 74 61 6e 63 65 20 6f 66 20 60 77 69 74 68 2d    6d 6f 63 6b 27 20 6d 61 63 72 6f 2e 0a 50 72 65  | stance.of.`with-mock'.macro..Pre | 
| 1c60 |  70 61 72 65 20 66 6f 72 20 6d 6f 63 6b 2f 73 74    75 62 2c 20 63 61 6c 6c 20 42 4f 44 59 2d 46 4e  | pare.for.mock/stub,.call.BODY-FN | 
| 1c80 |  2c 20 61 6e 64 20 74 65 61 72 64 6f 77 6e 20 6d    6f 63 6b 2f 73 74 75 62 2e 0a 0a 46 6f 72 20 64  | ,.and.teardown.mock/stub...For.d | 
| 1ca0 |  65 76 65 6c 6f 70 65 72 3a 0a 57 68 65 6e 20 79    6f 75 20 61 64 61 70 74 20 45 6d 61 63 73 20 4c  | eveloper:.When.you.adapt.Emacs.L | 
| 1cc0 |  69 73 70 20 4d 6f 63 6b 20 74 6f 20 61 20 74 65    73 74 69 6e 67 20 66 72 61 6d 65 77 6f 72 6b 2c  | isp.Mock.to.a.testing.framework, | 
| 1ce0 |  0a 77 72 61 70 20 74 65 73 74 20 6d 65 74 68 6f    64 20 61 72 6f 75 6e 64 20 74 68 69 73 20 66 75  | .wrap.test.method.around.this.fu | 
| 1d00 |  6e 63 74 69 6f 6e 2e 22 0a 20 20 28 6c 65 74 20    28 6d 6f 63 6b 2d 76 65 72 69 66 79 2d 6c 69 73  | nction."...(let.(mock-verify-lis | 
| 1d20 |  74 0a 20 20 20 20 20 20 20 20 2d 73 74 75 62 62    65 64 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20  | t.........-stubbed-functions.... | 
| 1d40 |  20 20 20 20 20 2d 6d 6f 63 6b 65 64 2d 66 75 6e    63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 28  | .....-mocked-functions.........( | 
| 1d60 |  69 6e 2d 6d 6f 63 6b 69 6e 67 20 74 29 0a 20 20    20 20 20 20 20 20 28 61 6e 79 2d 65 72 72 6f 72  | in-mocking.t).........(any-error | 
| 1d80 |  20 74 29 29 0a 20 20 20 20 3b 3b 20 28 73 65 74    70 6c 69 73 74 20 27 6d 6f 63 6b 2d 6f 72 69 67  | .t)).....;;.(setplist.'mock-orig | 
| 1da0 |  69 6e 61 6c 2d 66 75 6e 63 20 6e 69 6c 29 0a 20    20 20 20 3b 3b 20 28 73 65 74 70 6c 69 73 74 20  | inal-func.nil).....;;.(setplist. | 
| 1dc0 |  27 6d 6f 63 6b 2d 63 61 6c 6c 2d 63 6f 75 6e 74    20 6e 69 6c 29 0a 20 20 20 20 28 75 6e 77 69 6e  | 'mock-call-count.nil).....(unwin | 
| 1de0 |  64 2d 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20    20 20 28 70 72 6f 67 31 0a 20 20 20 20 20 20 20  | d-protect.........(prog1........ | 
| 1e00 |  20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 62 6f    64 79 2d 66 6e 29 0a 20 20 20 20 20 20 20 20 20  | .....(funcall.body-fn).......... | 
| 1e20 |  20 28 73 65 74 71 20 61 6e 79 2d 65 72 72 6f 72    20 6e 69 6c 29 29 0a 20 20 20 20 20 20 28 6d 61  | .(setq.any-error.nil)).......(ma | 
| 1e40 |  70 63 20 23 27 73 74 75 62 2f 74 65 61 72 64 6f    77 6e 20 2d 73 74 75 62 62 65 64 2d 66 75 6e 63  | pc.#'stub/teardown.-stubbed-func | 
| 1e60 |  74 69 6f 6e 73 29 0a 20 20 20 20 20 20 28 75 6e    77 69 6e 64 2d 70 72 6f 74 65 63 74 0a 20 20 20  | tions).......(unwind-protect.... | 
| 1e80 |  20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 61    6e 79 2d 65 72 72 6f 72 0a 20 20 20 20 20 20 20  | .......(unless.any-error........ | 
| 1ea0 |  20 20 20 20 20 28 6d 6f 63 6b 2d 76 65 72 69 66    79 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 70  | .....(mock-verify)).........(map | 
| 1ec0 |  63 20 23 27 6d 6f 63 6b 2f 74 65 61 72 64 6f 77    6e 20 2d 6d 6f 63 6b 65 64 2d 66 75 6e 63 74 69  | c.#'mock/teardown.-mocked-functi | 
| 1ee0 |  6f 6e 73 29 29 29 29 29 0a 0a 3b 3b 3b 3b 20 6d    65 73 73 61 67 65 20 68 61 63 6b 0a 28 64 65 66  | ons)))))..;;;;.message.hack.(def | 
| 1f00 |  75 6e 20 6d 6f 63 6b 2d 73 75 70 70 72 65 73 73    2d 72 65 64 65 66 69 6e 69 74 69 6f 6e 2d 6d 65  | un.mock-suppress-redefinition-me | 
| 1f20 |  73 73 61 67 65 20 28 66 75 6e 63 29 0a 20 20 22    45 72 61 73 65 20 5c 22 61 64 2d 68 61 6e 64 6c  | ssage.(func)..."Erase.\"ad-handl | 
| 1f40 |  65 2d 64 65 66 69 6e 69 74 69 6f 6e 3a 20 60 25    73 27 20 67 6f 74 20 72 65 64 65 66 69 6e 65 64  | e-definition:.`%s'.got.redefined | 
| 1f60 |  5c 22 20 6d 65 73 73 61 67 65 2e 22 0a 20 20 28    66 75 6e 63 61 6c 6c 20 66 75 6e 63 29 29 0a 28  | \".message."...(funcall.func)).( | 
| 1f80 |  70 75 74 20 27 6d 6f 63 6b 2d 73 79 6e 74 61 78    2d 65 72 72 6f 72 20 27 65 72 72 6f 72 2d 63 6f  | put.'mock-syntax-error.'error-co | 
| 1fa0 |  6e 64 69 74 69 6f 6e 73 20 27 28 6d 6f 63 6b 2d    73 79 6e 74 61 78 2d 65 72 72 6f 72 20 65 72 72  | nditions.'(mock-syntax-error.err | 
| 1fc0 |  6f 72 29 29 0a 28 70 75 74 20 27 6d 6f 63 6b 2d    73 79 6e 74 61 78 2d 65 72 72 6f 72 20 27 65 72  | or)).(put.'mock-syntax-error.'er | 
| 1fe0 |  72 6f 72 2d 6d 65 73 73 61 67 65 20 22 4d 6f 63    6b 20 73 79 6e 74 61 78 20 65 72 72 6f 72 22 29  | ror-message."Mock.syntax.error") | 
| 2000 |  0a 0a 3b 3b 3b 3b 20 55 73 65 72 20 69 6e 74 65    72 66 61 63 65 0a 28 64 65 66 6d 61 63 72 6f 20  | ..;;;;.User.interface.(defmacro. | 
| 2020 |  77 69 74 68 2d 6d 6f 63 6b 20 28 26 72 65 73 74    20 62 6f 64 79 29 0a 20 20 22 45 78 65 63 75 74  | with-mock.(&rest.body)..."Execut | 
| 2040 |  65 20 74 68 65 20 66 6f 72 6d 73 20 69 6e 20 42    4f 44 59 2e 20 59 6f 75 20 63 61 6e 20 75 73 65  | e.the.forms.in.BODY..You.can.use | 
| 2060 |  20 60 6d 6f 63 6b 27 20 61 6e 64 20 60 73 74 75    62 27 20 69 6e 20 42 4f 44 59 2e 0a 54 68 65 20  | .`mock'.and.`stub'.in.BODY..The. | 
| 2080 |  76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 69    73 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74  | value.returned.is.the.value.of.t | 
| 20a0 |  68 65 20 6c 61 73 74 20 66 6f 72 6d 20 69 6e 20    42 4f 44 59 2e 0a 41 66 74 65 72 20 65 78 65 63  | he.last.form.in.BODY..After.exec | 
| 20c0 |  75 74 69 6e 67 20 42 4f 44 59 2c 20 6d 6f 63 6b    73 20 61 6e 64 20 73 74 75 62 73 20 61 72 65 20  | uting.BODY,.mocks.and.stubs.are. | 
| 20e0 |  67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65    20 72 65 6c 65 61 73 65 64 2e 0a 0a 45 78 61 6d  | guaranteed.to.be.released...Exam | 
| 2100 |  70 6c 65 3a 0a 20 20 28 77 69 74 68 2d 6d 6f 63    6b 0a 20 20 20 20 28 73 74 75 62 20 66 6f 6f 7a  | ple:...(with-mock.....(stub.fooz | 
| 2120 |  20 3d 3e 20 32 29 0a 20 20 20 20 28 66 6f 6f 7a    20 39 39 39 39 29 29 20 20 20 20 20 20 20 20 20  | .=>.2).....(fooz.9999))......... | 
| 2140 |  20 20 20 20 20 20 20 20 20 3b 20 3d 3e 20 32 0a    22 0a 20 20 60 28 6d 6f 63 6b 2d 70 72 6f 74 65  | .........;.=>.2."...`(mock-prote | 
| 2160 |  63 74 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28    29 20 2c 40 62 6f 64 79 29 29 29 0a 28 64 65 66  | ct.....(lambda.().,@body))).(def | 
| 2180 |  61 6c 69 61 73 20 27 77 69 74 68 2d 73 74 75 62    20 27 77 69 74 68 2d 6d 6f 63 6b 29 0a 0a 28 64  | alias.'with-stub.'with-mock)..(d | 
| 21a0 |  65 66 6d 61 63 72 6f 20 73 74 75 62 20 28 66 75    6e 63 74 69 6f 6e 20 26 72 65 73 74 20 72 65 73  | efmacro.stub.(function.&rest.res | 
| 21c0 |  74 29 0a 20 20 22 43 72 65 61 74 65 20 61 20 73    74 75 62 20 66 6f 72 20 46 55 4e 43 54 49 4f 4e  | t)..."Create.a.stub.for.FUNCTION | 
| 21e0 |  2e 0a 53 74 75 62 73 20 61 72 65 20 74 65 6d 70    6f 72 61 72 79 20 66 75 6e 63 74 69 6f 6e 73 20  | ..Stubs.are.temporary.functions. | 
| 2200 |  77 68 69 63 68 20 61 63 63 65 70 74 20 61 6e 79    20 61 72 67 75 6d 65 6e 74 73 0a 61 6e 64 20 72  | which.accept.any.arguments.and.r | 
| 2220 |  65 74 75 72 6e 20 63 6f 6e 73 74 61 6e 74 20 76    61 6c 75 65 2e 0a 53 74 75 62 73 20 61 72 65 20  | eturn.constant.value..Stubs.are. | 
| 2240 |  72 65 6d 6f 76 65 64 20 6f 75 74 73 69 64 65 20    60 77 69 74 68 2d 6d 6f 63 6b 27 20 28 60 77 69  | removed.outside.`with-mock'.(`wi | 
| 2260 |  74 68 2d 73 74 75 62 27 20 69 73 20 61 6e 20 61    6c 69 61 73 29 20 61 6e 64 20 60 6d 6f 63 6b 6c  | th-stub'.is.an.alias).and.`mockl | 
| 2280 |  65 74 27 2e 0a 0a 53 79 6e 6f 70 73 69 73 3a 0a    2a 20 28 73 74 75 62 20 46 55 4e 43 54 49 4f 4e  | et'...Synopsis:.*.(stub.FUNCTION | 
| 22a0 |  29 0a 20 20 43 72 65 61 74 65 20 61 20 46 55 4e    43 54 49 4f 4e 20 73 74 75 62 20 77 68 69 63 68  | )...Create.a.FUNCTION.stub.which | 
| 22c0 |  20 72 65 74 75 72 6e 73 20 6e 69 6c 2e 0a 2a 20    28 73 74 75 62 20 46 55 4e 43 54 49 4f 4e 20 3d  | .returns.nil..*.(stub.FUNCTION.= | 
| 22e0 |  3e 20 52 45 54 55 52 4e 2d 56 41 4c 55 45 29 0a    20 20 43 72 65 61 74 65 20 61 20 46 55 4e 43 54  | >.RETURN-VALUE)...Create.a.FUNCT | 
| 2300 |  49 4f 4e 20 73 74 75 62 20 77 68 69 63 68 20 72    65 74 75 72 6e 73 20 52 45 54 55 52 4e 2d 56 41  | ION.stub.which.returns.RETURN-VA | 
| 2320 |  4c 55 45 2e 0a 0a 52 45 54 55 52 4e 2d 56 41 4c    55 45 20 69 73 20 65 76 61 6c 75 61 74 65 64 20  | LUE...RETURN-VALUE.is.evaluated. | 
| 2340 |  77 68 65 6e 20 65 78 65 63 75 74 69 6e 67 20 74    68 65 20 6d 6f 63 6b 65 64 20 66 75 6e 63 74 69  | when.executing.the.mocked.functi | 
| 2360 |  6f 6e 2e 0a 0a 45 78 61 6d 70 6c 65 3a 0a 20 20    28 77 69 74 68 2d 6d 6f 63 6b 0a 20 20 20 20 28  | on...Example:...(with-mock.....( | 
| 2380 |  73 74 75 62 20 66 6f 6f 29 0a 20 20 20 20 28 73    74 75 62 20 62 61 72 20 3d 3e 20 31 29 0a 20 20  | stub.foo).....(stub.bar.=>.1)... | 
| 23a0 |  20 20 28 61 6e 64 20 28 6e 75 6c 6c 20 28 66 6f    6f 29 29 20 28 3d 20 28 62 61 72 20 37 29 20 31  | ..(and.(null.(foo)).(=.(bar.7).1 | 
| 23c0 |  29 29 29 20 20 20 20 20 3b 20 3d 3e 20 74 0a 22    0a 20 20 28 6c 65 74 20 28 28 76 61 6c 75 65 20  | ))).....;.=>.t."...(let.((value. | 
| 23e0 |  28 63 6f 6e 64 20 28 28 70 6c 69 73 74 2d 67 65    74 20 72 65 73 74 20 27 3d 3e 29 29 0a 20 20 20  | (cond.((plist-get.rest.'=>)).... | 
| 2400 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 28 6d 65 6d 71 20 27 3d 3e 20 72 65 73  | ..................((memq.'=>.res | 
| 2420 |  74 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6e  | t).nil)......................((n | 
| 2440 |  75 6c 6c 20 72 65 73 74 29 20 6e 69 6c 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ull.rest).nil).................. | 
| 2460 |  20 20 20 20 28 74 20 28 73 69 67 6e 61 6c 20 27    6d 6f 63 6b 2d 73 79 6e 74 61 78 2d 65 72 72 6f  | ....(t.(signal.'mock-syntax-erro | 
| 2480 |  72 20 27 28 22 55 73 65 20 60 28 73 74 75 62 20    46 55 4e 43 29 27 20 6f 72 20 60 28 73 74 75 62  | r.'("Use.`(stub.FUNC)'.or.`(stub | 
| 24a0 |  20 46 55 4e 43 20 3d 3e 20 52 45 54 55 52 4e 2d    56 41 4c 55 45 29 27 22 29 29 29 29 29 29 0a 20  | .FUNC.=>.RETURN-VALUE)'")))))).. | 
| 24c0 |  20 20 20 60 28 69 66 20 28 6e 6f 74 20 69 6e 2d    6d 6f 63 6b 69 6e 67 29 0a 20 20 20 20 20 20 20  | ...`(if.(not.in-mocking)........ | 
| 24e0 |  20 20 28 65 72 72 6f 72 20 22 44 6f 20 6e 6f 74    20 75 73 65 20 60 73 74 75 62 27 20 6f 75 74 73  | ..(error."Do.not.use.`stub'.outs | 
| 2500 |  69 64 65 22 29 0a 20 20 20 20 20 20 20 28 73 74    75 62 2f 73 65 74 75 70 20 27 2c 66 75 6e 63 74  | ide")........(stub/setup.',funct | 
| 2520 |  69 6f 6e 20 27 2c 76 61 6c 75 65 29 0a 20 20 20    20 20 20 20 28 70 75 73 68 20 27 2c 66 75 6e 63  | ion.',value)........(push.',func | 
| 2540 |  74 69 6f 6e 20 2d 73 74 75 62 62 65 64 2d 66 75    6e 63 74 69 6f 6e 73 29 29 29 29 0a 0a 28 64 65  | tion.-stubbed-functions))))..(de | 
| 2560 |  66 6d 61 63 72 6f 20 6d 6f 63 6b 20 28 66 75 6e    63 2d 73 70 65 63 20 26 72 65 73 74 20 72 65 73  | fmacro.mock.(func-spec.&rest.res | 
| 2580 |  74 29 0a 20 20 20 20 22 43 72 65 61 74 65 20 61    20 6d 6f 63 6b 20 66 6f 72 20 66 75 6e 63 74 69  | t)....."Create.a.mock.for.functi | 
| 25a0 |  6f 6e 20 64 65 73 63 72 69 62 65 64 20 62 79 20    46 55 4e 43 2d 53 50 45 43 2e 0a 4d 6f 63 6b 73  | on.described.by.FUNC-SPEC..Mocks | 
| 25c0 |  20 61 72 65 20 74 65 6d 70 6f 72 61 72 79 20 66    75 6e 63 74 69 6f 6e 73 20 77 68 69 63 68 20 61  | .are.temporary.functions.which.a | 
| 25e0 |  63 63 65 70 74 20 73 70 65 63 69 66 69 65 64 20    61 72 67 75 6d 65 6e 74 73 0a 61 6e 64 20 72 65  | ccept.specified.arguments.and.re | 
| 2600 |  74 75 72 6e 20 63 6f 6e 73 74 61 6e 74 20 76 61    6c 75 65 2e 0a 49 66 20 6d 6f 63 6b 65 64 20 66  | turn.constant.value..If.mocked.f | 
| 2620 |  75 6e 63 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74    20 63 61 6c 6c 65 64 20 6f 72 20 63 61 6c 6c 65  | unctions.are.not.called.or.calle | 
| 2640 |  64 20 62 79 20 64 69 66 66 65 72 65 6e 74 20 61    72 67 75 6d 65 6e 74 73 2c 0a 61 6e 20 60 6d 6f  | d.by.different.arguments,.an.`mo | 
| 2660 |  63 6b 2d 65 72 72 6f 72 27 20 6f 63 63 75 72 73    2e 0a 4d 6f 63 6b 73 20 61 72 65 20 72 65 6d 6f  | ck-error'.occurs..Mocks.are.remo | 
| 2680 |  76 65 64 20 6f 75 74 73 69 64 65 20 60 77 69 74    68 2d 6d 6f 63 6b 27 20 61 6e 64 20 60 6d 6f 63  | ved.outside.`with-mock'.and.`moc | 
| 26a0 |  6b 6c 65 74 27 2e 0a 0a 53 79 6e 6f 70 73 69 73    3a 0a 2a 20 28 6d 6f 63 6b 20 28 46 55 4e 43 54  | klet'...Synopsis:.*.(mock.(FUNCT | 
| 26c0 |  49 4f 4e 20 41 52 47 53 2e 2e 2e 29 29 0a 20 20    43 72 65 61 74 65 20 61 20 46 55 4e 43 54 49 4f  | ION.ARGS...))...Create.a.FUNCTIO | 
| 26e0 |  4e 20 6d 6f 63 6b 20 77 68 69 63 68 20 72 65 74    75 72 6e 73 20 6e 69 6c 2e 0a 2a 20 28 6d 6f 63  | N.mock.which.returns.nil..*.(moc | 
| 2700 |  6b 20 28 46 55 4e 43 54 49 4f 4e 20 41 52 47 53    2e 2e 2e 29 20 3d 3e 20 52 45 54 55 52 4e 2d 56  | k.(FUNCTION.ARGS...).=>.RETURN-V | 
| 2720 |  41 4c 55 45 29 0a 20 20 43 72 65 61 74 65 20 61    20 46 55 4e 43 54 49 4f 4e 20 6d 6f 63 6b 20 77  | ALUE)...Create.a.FUNCTION.mock.w | 
| 2740 |  68 69 63 68 20 72 65 74 75 72 6e 73 20 52 45 54    55 52 4e 2d 56 41 4c 55 45 2e 0a 2a 20 28 6d 6f  | hich.returns.RETURN-VALUE..*.(mo | 
| 2760 |  63 6b 20 28 46 55 4e 43 54 49 4f 4e 20 41 52 47    53 2e 2e 2e 29 20 3a 74 69 6d 65 73 20 4e 29 0a  | ck.(FUNCTION.ARGS...).:times.N). | 
| 2780 |  20 20 46 55 4e 43 54 49 4f 4e 20 6d 75 73 74 20    62 65 20 63 61 6c 6c 65 64 20 4e 20 74 69 6d 65  | ..FUNCTION.must.be.called.N.time | 
| 27a0 |  73 2e 0a 2a 20 28 6d 6f 63 6b 20 28 46 55 4e 43    54 49 4f 4e 20 41 52 47 53 2e 2e 2e 29 20 3d 3e  | s..*.(mock.(FUNCTION.ARGS...).=> | 
| 27c0 |  20 52 45 54 55 52 4e 2d 56 41 4c 55 45 20 3a 74    69 6d 65 73 20 4e 29 0a 20 20 43 72 65 61 74 65  | .RETURN-VALUE.:times.N)...Create | 
| 27e0 |  20 61 20 46 55 4e 43 54 49 4f 4e 20 6d 6f 63 6b    20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 52  | .a.FUNCTION.mock.which.returns.R | 
| 2800 |  45 54 55 52 4e 2d 56 41 4c 55 45 2e 0a 20 20 46    55 4e 43 54 49 4f 4e 20 6d 75 73 74 20 62 65 20  | ETURN-VALUE....FUNCTION.must.be. | 
| 2820 |  63 61 6c 6c 65 64 20 4e 20 74 69 6d 65 73 2e 0a    0a 57 69 6c 64 63 61 72 64 3a 0a 54 68 65 20 60  | called.N.times...Wildcard:.The.` | 
| 2840 |  2a 27 20 69 73 20 61 20 73 70 65 63 69 61 6c 20    73 79 6d 62 6f 6c 3a 20 69 74 20 61 63 63 65 70  | *'.is.a.special.symbol:.it.accep | 
| 2860 |  74 73 20 61 6e 79 20 76 61 6c 75 65 20 66 6f 72    20 74 68 61 74 20 61 72 67 75 6d 65 6e 74 20 70  | ts.any.value.for.that.argument.p | 
| 2880 |  6f 73 69 74 69 6f 6e 2e 0a 0a 41 52 47 53 20 74    68 61 74 20 61 72 65 20 6e 6f 74 20 60 2a 27 20  | osition...ARGS.that.are.not.`*'. | 
| 28a0 |  61 72 65 20 65 76 61 6c 75 61 74 65 64 20 77 68    65 6e 20 74 68 65 20 6d 6f 63 6b 20 69 73 20 76  | are.evaluated.when.the.mock.is.v | 
| 28c0 |  65 72 69 66 69 65 64 2c 0a 69 2e 65 2e 20 75 70    6f 6e 20 6c 65 61 76 69 6e 67 20 74 68 65 20 65  | erified,.i.e..upon.leaving.the.e | 
| 28e0 |  6e 63 6c 6f 73 69 6e 67 20 60 77 69 74 68 2d 6d    6f 63 6b 27 20 66 6f 72 6d 2e 20 20 41 52 47 53  | nclosing.`with-mock'.form...ARGS | 
| 2900 |  20 61 72 65 0a 65 76 61 6c 75 61 74 65 64 20 75    73 69 6e 67 20 64 79 6e 61 6d 69 63 20 73 63 6f  | .are.evaluated.using.dynamic.sco | 
| 2920 |  70 69 6e 67 2e 20 20 54 68 65 20 52 45 54 55 52    4e 2d 56 41 4c 55 45 20 69 73 20 65 76 61 6c 75  | ping...The.RETURN-VALUE.is.evalu | 
| 2940 |  61 74 65 64 0a 77 68 65 6e 20 65 78 65 63 75 74    69 6e 67 20 74 68 65 20 6d 6f 63 6b 65 64 20 66  | ated.when.executing.the.mocked.f | 
| 2960 |  75 6e 63 74 69 6f 6e 2e 0a 0a 45 78 61 6d 70 6c    65 3a 0a 20 20 28 77 69 74 68 2d 6d 6f 63 6b 0a  | unction...Example:...(with-mock. | 
| 2980 |  20 20 20 20 28 6d 6f 63 6b 20 28 66 20 2a 20 32    29 20 3d 3e 20 33 29 0a 20 20 20 20 28 6d 6f 63  | ....(mock.(f.*.2).=>.3).....(moc | 
| 29a0 |  6b 20 28 67 20 33 29 29 0a 20 20 20 20 28 61 6e    64 20 28 3d 20 28 66 20 39 20 32 29 20 33 29 20  | k.(g.3)).....(and.(=.(f.9.2).3). | 
| 29c0 |  28 6e 75 6c 6c 20 28 67 20 33 29 29 29 29 20 20    20 20 20 3b 20 3d 3e 20 74 0a 20 20 28 77 69 74  | (null.(g.3)))).....;.=>.t...(wit | 
| 29e0 |  68 2d 6d 6f 63 6b 0a 20 20 20 20 28 6d 6f 63 6b    20 28 67 20 33 29 29 0a 20 20 20 20 28 67 20 37  | h-mock.....(mock.(g.3)).....(g.7 | 
| 2a00 |  29 29 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 20 20 20 20 20  | )).............................. | 
| 2a20 |  20 20 3b 20 28 6d 6f 63 6b 2d 65 72 72 6f 72 20    28 67 20 33 29 20 28 67 20 37 29 29 0a 22 0a 20  | ..;.(mock-error.(g.3).(g.7)).".. | 
| 2a40 |  20 28 6c 65 74 2a 20 28 28 74 69 6d 65 73 20 28    70 6c 69 73 74 2d 67 65 74 20 72 65 73 74 20 3a  | .(let*.((times.(plist-get.rest.: | 
| 2a60 |  74 69 6d 65 73 29 29 0a 20 20 20 20 20 20 20 20    20 28 76 61 6c 75 65 20 28 63 6f 6e 64 20 28 28  | times))..........(value.(cond.(( | 
| 2a80 |  70 6c 69 73 74 2d 67 65 74 20 72 65 73 74 20 27    3d 3e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20  | plist-get.rest.'=>))............ | 
| 2aa0 |  20 20 20 20 20 20 20 20 20 20 20 28 28 6d 65 6d    71 20 27 3d 3e 20 72 65 73 74 29 20 6e 69 6c 29  | ...........((memq.'=>.rest).nil) | 
| 2ac0 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 28 6e 75 6c 6c 20 72 65  | .......................((null.re | 
| 2ae0 |  73 74 29 20 6e 69 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 28  | st).nil).......................( | 
| 2b00 |  28 6e 6f 74 20 74 69 6d 65 73 29 20 28 73 69 67    6e 61 6c 20 27 6d 6f 63 6b 2d 73 79 6e 74 61 78  | (not.times).(signal.'mock-syntax | 
| 2b20 |  2d 65 72 72 6f 72 20 27 28 22 55 73 65 20 60 28    6d 6f 63 6b 20 46 55 4e 43 2d 53 50 45 43 29 27  | -error.'("Use.`(mock.FUNC-SPEC)' | 
| 2b40 |  20 6f 72 20 60 28 6d 6f 63 6b 20 46 55 4e 43 2d    53 50 45 43 20 3d 3e 20 52 45 54 55 52 4e 2d 56  | .or.`(mock.FUNC-SPEC.=>.RETURN-V | 
| 2b60 |  41 4c 55 45 29 27 22 29 29 29 29 29 29 0a 20 20    20 20 60 28 69 66 20 28 6e 6f 74 20 69 6e 2d 6d  | ALUE)'")))))).....`(if.(not.in-m | 
| 2b80 |  6f 63 6b 69 6e 67 29 0a 20 20 20 20 20 20 20 20    20 28 65 72 72 6f 72 20 22 44 6f 20 6e 6f 74 20  | ocking)..........(error."Do.not. | 
| 2ba0 |  75 73 65 20 60 6d 6f 63 6b 27 20 6f 75 74 73 69    64 65 22 29 0a 20 20 20 20 20 20 20 28 6d 6f 63  | use.`mock'.outside")........(moc | 
| 2bc0 |  6b 2f 73 65 74 75 70 20 27 2c 66 75 6e 63 2d 73    70 65 63 20 27 2c 76 61 6c 75 65 20 2c 74 69 6d  | k/setup.',func-spec.',value.,tim | 
| 2be0 |  65 73 29 0a 20 20 20 20 20 20 20 28 70 75 73 68    20 27 2c 28 63 61 72 20 66 75 6e 63 2d 73 70 65  | es)........(push.',(car.func-spe | 
| 2c00 |  63 29 20 2d 6d 6f 63 6b 65 64 2d 66 75 6e 63 74    69 6f 6e 73 29 29 29 29 0a 0a 28 64 65 66 6d 61  | c).-mocked-functions))))..(defma | 
| 2c20 |  63 72 6f 20 6e 6f 74 2d 63 61 6c 6c 65 64 20 28    66 75 6e 63 74 69 6f 6e 29 0a 20 20 22 43 72 65  | cro.not-called.(function)..."Cre | 
| 2c40 |  61 74 65 20 61 20 6e 6f 74 2d 63 61 6c 6c 65 64    20 6d 6f 63 6b 20 66 6f 72 20 46 55 4e 43 54 49  | ate.a.not-called.mock.for.FUNCTI | 
| 2c60 |  4f 4e 2e 0a 4e 6f 74 2d 63 61 6c 6c 65 64 20 6d    6f 63 6b 73 20 61 72 65 20 74 65 6d 70 6f 72 61  | ON..Not-called.mocks.are.tempora | 
| 2c80 |  72 79 20 66 75 6e 63 74 69 6f 6e 73 20 77 68 69    63 68 20 72 61 69 73 65 73 20 61 6e 20 65 72 72  | ry.functions.which.raises.an.err | 
| 2ca0 |  6f 72 20 77 68 65 6e 20 63 61 6c 6c 65 64 2e 0a    49 66 20 6e 6f 74 2d 63 61 6c 6c 65 64 20 66 75  | or.when.called..If.not-called.fu | 
| 2cc0 |  6e 63 74 69 6f 6e 73 20 61 72 65 20 63 61 6c 6c    65 64 2c 20 61 6e 20 60 6d 6f 63 6b 2d 65 72 72  | nctions.are.called,.an.`mock-err | 
| 2ce0 |  6f 72 27 20 6f 63 63 75 72 73 2e 0a 4e 6f 74 2d    63 61 6c 6c 65 64 20 6d 6f 63 6b 73 20 61 72 65  | or'.occurs..Not-called.mocks.are | 
| 2d00 |  20 72 65 6d 6f 76 65 64 20 6f 75 74 73 69 64 65    20 60 77 69 74 68 2d 6d 6f 63 6b 27 20 61 6e 64  | .removed.outside.`with-mock'.and | 
| 2d20 |  20 60 6d 6f 63 6b 6c 65 74 27 2e 0a 0a 53 79 6e    6f 70 73 69 73 3a 0a 2a 20 28 6e 6f 74 2d 63 61  | .`mocklet'...Synopsis:.*.(not-ca | 
| 2d40 |  6c 6c 65 64 20 46 55 4e 43 54 49 4f 4e 29 0a 20    20 43 72 65 61 74 65 20 61 20 46 55 4e 43 54 49  | lled.FUNCTION)...Create.a.FUNCTI | 
| 2d60 |  4f 4e 20 6e 6f 74 2d 63 61 6c 6c 65 64 20 6d 6f    63 6b 2e 0a 0a 45 78 61 6d 70 6c 65 3a 0a 20 20  | ON.not-called.mock...Example:... | 
| 2d80 |  28 77 69 74 68 2d 6d 6f 63 6b 0a 20 20 20 20 28    6e 6f 74 2d 63 61 6c 6c 65 64 20 66 29 0a 20 20  | (with-mock.....(not-called.f)... | 
| 2da0 |  20 20 74 29 20 20 20 20 20 3b 20 3d 3e 20 74 0a    20 20 28 77 69 74 68 2d 6d 6f 63 6b 0a 20 20 20  | ..t).....;.=>.t...(with-mock.... | 
| 2dc0 |  20 28 6e 6f 74 2d 63 61 6c 6c 65 64 20 67 29 0a    20 20 20 20 28 67 20 37 29 29 20 3b 20 3d 3e 20  | .(not-called.g).....(g.7)).;.=>. | 
| 2de0 |  28 6d 6f 63 6b 2d 65 72 72 6f 72 20 63 61 6c 6c    65 64 29 0a 22 0a 20 20 28 6c 65 74 20 28 29 0a  | (mock-error.called)."...(let.(). | 
| 2e00 |  20 20 20 20 60 28 69 66 20 28 6e 6f 74 20 69 6e    2d 6d 6f 63 6b 69 6e 67 29 0a 20 20 20 20 20 20  | ....`(if.(not.in-mocking)....... | 
| 2e20 |  20 20 20 28 65 72 72 6f 72 20 22 44 6f 20 6e 6f    74 20 75 73 65 20 60 6e 6f 74 2d 63 61 6c 6c 65  | ...(error."Do.not.use.`not-calle | 
| 2e40 |  64 27 20 6f 75 74 73 69 64 65 22 29 0a 20 20 20    20 20 20 20 28 6e 6f 74 2d 63 61 6c 6c 65 64 2f  | d'.outside")........(not-called/ | 
| 2e60 |  73 65 74 75 70 20 27 2c 66 75 6e 63 74 69 6f 6e    29 0a 20 20 20 20 20 20 20 28 70 75 73 68 20 27  | setup.',function)........(push.' | 
| 2e80 |  2c 66 75 6e 63 74 69 6f 6e 20 2d 6d 6f 63 6b 65    64 2d 66 75 6e 63 74 69 6f 6e 73 29 29 29 29 0a  | ,function.-mocked-functions)))). | 
| 2ea0 |  0a 0a 28 64 65 66 75 6e 20 6d 6f 63 6b 2d 70 61    72 73 65 2d 73 70 65 63 20 28 73 70 65 63 29 0a  | ..(defun.mock-parse-spec.(spec). | 
| 2ec0 |  20 20 28 63 6f 6e 73 20 27 70 72 6f 67 6e 0a 20    20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28  | ..(cons.'progn.........(mapcar.( | 
| 2ee0 |  6c 61 6d 62 64 61 20 28 61 72 67 73 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | lambda.(args)................... | 
| 2f00 |  28 69 66 20 28 65 71 20 28 63 61 64 72 20 61 72    67 73 29 20 27 6e 6f 74 2d 63 61 6c 6c 65 64 29  | (if.(eq.(cadr.args).'not-called) | 
| 2f20 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 60 28 6e 6f 74 2d 63 61 6c  | .......................`(not-cal | 
| 2f40 |  6c 65 64 20 2c 28 63 61 72 20 61 72 67 73 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | led.,(car.args))................ | 
| 2f60 |  20 20 20 20 20 28 63 6f 6e 73 20 28 69 66 20 28    63 6f 6e 73 70 20 28 63 61 72 20 61 72 67 73 29  | .....(cons.(if.(consp.(car.args) | 
| 2f80 |  29 20 27 6d 6f 63 6b 20 27 73 74 75 62 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ).'mock.'stub).................. | 
| 2fa0 |  20 20 20 20 20 20 20 61 72 67 73 29 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73  | .......args))).................s | 
| 2fc0 |  70 65 63 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d    6f 63 6b 6c 65 74 2d 66 75 6e 63 74 69 6f 6e 20  | pec)))..(defun.mocklet-function. | 
| 2fe0 |  28 73 70 65 63 20 62 6f 64 79 2d 66 75 6e 63 29    0a 20 20 28 77 69 74 68 2d 6d 6f 63 6b 0a 20 20  | (spec.body-func)...(with-mock... | 
| 3000 |  20 20 28 65 76 61 6c 20 28 6d 6f 63 6b 2d 70 61    72 73 65 2d 73 70 65 63 20 73 70 65 63 29 29 0a  | ..(eval.(mock-parse-spec.spec)). | 
| 3020 |  20 20 20 20 28 66 75 6e 63 61 6c 6c 20 62 6f 64    79 2d 66 75 6e 63 29 29 29 0a 0a 28 64 65 66 6d  | ....(funcall.body-func)))..(defm | 
| 3040 |  61 63 72 6f 20 6d 6f 63 6b 6c 65 74 20 28 73 70    65 63 6c 69 73 74 20 26 72 65 73 74 20 62 6f 64  | acro.mocklet.(speclist.&rest.bod | 
| 3060 |  79 29 0a 20 20 22 60 6c 65 74 27 2d 6c 69 6b 65    20 69 6e 74 65 72 66 61 63 65 20 6f 66 20 60 77  | y)..."`let'-like.interface.of.`w | 
| 3080 |  69 74 68 2d 6d 6f 63 6b 27 2c 20 60 6d 6f 63 6b    27 2c 20 60 6e 6f 74 2d 63 61 6c 6c 65 64 27 20  | ith-mock',.`mock',.`not-called'. | 
| 30a0 |  61 6e 64 20 60 73 74 75 62 27 2e 0a 0a 43 72 65    61 74 65 20 6d 6f 63 6b 73 20 61 6e 64 20 73 74  | and.`stub'...Create.mocks.and.st | 
| 30c0 |  75 62 73 20 64 65 73 63 72 69 62 65 64 20 62 79    20 53 50 45 43 4c 49 53 54 20 74 68 65 6e 20 65  | ubs.described.by.SPECLIST.then.e | 
| 30e0 |  78 65 63 75 74 65 20 74 68 65 20 66 6f 72 6d 73    20 69 6e 20 42 4f 44 59 2e 0a 53 50 45 43 4c 49  | xecute.the.forms.in.BODY..SPECLI | 
| 3100 |  53 54 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20    6d 6f 63 6b 2f 6e 6f 74 2d 63 61 6c 6c 65 64 2f  | ST.is.a.list.of.mock/not-called/ | 
| 3120 |  73 74 75 62 20 73 70 65 63 2e 0a 54 68 65 20 76    61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 69 73  | stub.spec..The.value.returned.is | 
| 3140 |  20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68    65 20 6c 61 73 74 20 66 6f 72 6d 20 69 6e 20 42  | .the.value.of.the.last.form.in.B | 
| 3160 |  4f 44 59 2e 0a 41 66 74 65 72 20 65 78 65 63 75    74 69 6e 67 20 42 4f 44 59 2c 20 6d 6f 63 6b 73  | ODY..After.executing.BODY,.mocks | 
| 3180 |  20 61 6e 64 20 73 74 75 62 73 20 61 72 65 20 67    75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20  | .and.stubs.are.guaranteed.to.be. | 
| 31a0 |  72 65 6c 65 61 73 65 64 2e 0a 0a 53 79 6e 6f 70    73 69 73 20 6f 66 20 73 70 65 63 3a 0a 53 70 65  | released...Synopsis.of.spec:.Spe | 
| 31c0 |  63 20 69 73 20 61 72 67 75 6d 65 6e 74 73 20 6f    66 20 60 6d 6f 63 6b 27 2c 20 60 6e 6f 74 2d 63  | c.is.arguments.of.`mock',.`not-c | 
| 31e0 |  61 6c 6c 65 64 27 20 6f 72 20 60 73 74 75 62 27    2e 0a 2a 20 28 28 46 55 4e 43 54 49 4f 4e 20 41  | alled'.or.`stub'..*.((FUNCTION.A | 
| 3200 |  52 47 53 2e 2e 2e 29 29 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 3a 20 6d 6f 63 6b  | RGS...))..................:.mock | 
| 3220 |  20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 6e    69 6c 0a 2a 20 28 28 46 55 4e 43 54 49 4f 4e 20  | .which.returns.nil.*.((FUNCTION. | 
| 3240 |  41 52 47 53 2e 2e 2e 29 20 3d 3e 20 52 45 54 55    52 4e 2d 56 41 4c 55 45 29 20 20 3b 20 6d 6f 63  | ARGS...).=>.RETURN-VALUE)..;.moc | 
| 3260 |  6b 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20    52 45 54 55 52 4e 2d 56 41 4c 55 45 0a 2a 20 28  | k.which.returns.RETURN-VALUE.*.( | 
| 3280 |  28 46 55 4e 43 54 49 4f 4e 20 41 52 47 53 2e 2e    2e 29 20 3a 74 69 6d 65 73 20 4e 20 29 20 20 20  | (FUNCTION.ARGS...).:times.N.)... | 
| 32a0 |  20 20 20 20 20 3b 20 6d 6f 63 6b 20 74 6f 20 62    65 20 63 61 6c 6c 65 64 20 4e 20 74 69 6d 65 73  | .....;.mock.to.be.called.N.times | 
| 32c0 |  0a 2a 20 28 28 46 55 4e 43 54 49 4f 4e 20 41 52    47 53 2e 2e 2e 29 20 3d 3e 20 52 45 54 55 52 4e  | .*.((FUNCTION.ARGS...).=>.RETURN | 
| 32e0 |  2d 56 41 4c 55 45 20 3a 74 69 6d 65 73 20 4e 20    29 20 20 3b 20 6d 6f 63 6b 20 74 6f 20 62 65 20  | -VALUE.:times.N.)..;.mock.to.be. | 
| 3300 |  63 61 6c 6c 65 64 20 4e 20 74 69 6d 65 73 0a 2a    20 28 46 55 4e 43 54 49 4f 4e 29 20 20 20 20 20  | called.N.times.*.(FUNCTION)..... | 
| 3320 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 3a 20 73 74 75 62 20 77 68  | .......................:.stub.wh | 
| 3340 |  69 63 68 20 72 65 74 75 72 6e 73 20 6e 69 6c 0a    2a 20 28 46 55 4e 43 54 49 4f 4e 20 3d 3e 20 52  | ich.returns.nil.*.(FUNCTION.=>.R | 
| 3360 |  45 54 55 52 4e 2d 56 41 4c 55 45 29 20 20 20 20    20 20 20 20 20 20 20 20 3b 20 73 74 75 62 20 77  | ETURN-VALUE)............;.stub.w | 
| 3380 |  68 69 63 68 20 72 65 74 75 72 6e 73 20 52 45 54    55 52 4e 2d 56 41 4c 55 45 0a 2a 20 28 46 55 4e  | hich.returns.RETURN-VALUE.*.(FUN | 
| 33a0 |  43 54 49 4f 4e 20 6e 6f 74 2d 63 61 6c 6c 65 64    29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | CTION.not-called)............... | 
| 33c0 |  20 20 3b 20 6e 6f 74 2d 63 61 6c 6c 65 64 20 46    55 4e 43 54 49 4f 4e 0a 0a 41 52 47 53 20 74 68  | ..;.not-called.FUNCTION..ARGS.th | 
| 33e0 |  61 74 20 61 72 65 20 6e 6f 74 20 60 2a 27 20 61    72 65 20 65 76 61 6c 75 61 74 65 64 20 77 68 65  | at.are.not.`*'.are.evaluated.whe | 
| 3400 |  6e 20 74 68 65 20 6d 6f 63 6b 20 69 73 20 76 65    72 69 66 69 65 64 2c 0a 69 2e 65 2e 20 75 70 6f  | n.the.mock.is.verified,.i.e..upo | 
| 3420 |  6e 20 6c 65 61 76 69 6e 67 20 74 68 65 20 65 6e    63 6c 6f 73 69 6e 67 20 60 77 69 74 68 2d 6d 6f  | n.leaving.the.enclosing.`with-mo | 
| 3440 |  63 6b 27 20 66 6f 72 6d 2e 20 20 41 52 47 53 20    61 72 65 0a 65 76 61 6c 75 61 74 65 64 20 75 73  | ck'.form...ARGS.are.evaluated.us | 
| 3460 |  69 6e 67 20 64 79 6e 61 6d 69 63 20 73 63 6f 70    69 6e 67 2e 20 20 54 68 65 20 52 45 54 55 52 4e  | ing.dynamic.scoping...The.RETURN | 
| 3480 |  2d 56 41 4c 55 45 20 69 73 20 65 76 61 6c 75 61    74 65 64 0a 77 68 65 6e 20 65 78 65 63 75 74 69  | -VALUE.is.evaluated.when.executi | 
| 34a0 |  6e 67 20 74 68 65 20 6d 6f 63 6b 65 64 20 66 75    6e 63 74 69 6f 6e 2e 0a 0a 45 78 61 6d 70 6c 65  | ng.the.mocked.function...Example | 
| 34c0 |  3a 0a 20 20 28 6d 6f 63 6b 6c 65 74 20 28 28 28    6d 6f 63 6b 2d 6e 69 6c 20 31 29 29 0a 20 20 20  | :...(mocklet.(((mock-nil.1)).... | 
| 34e0 |  20 20 20 20 20 20 20 20 20 28 28 6d 6f 63 6b 2d    31 20 2a 29 20 3d 3e 20 31 29 0a 20 20 20 20 20  | .........((mock-1.*).=>.1)...... | 
| 3500 |  20 20 20 20 20 20 20 28 73 74 75 62 2d 6e 69 6c    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73  | .......(stub-nil).............(s | 
| 3520 |  74 75 62 2d 32 20 3d 3e 20 32 29 29 0a 20 20 20    20 28 61 6e 64 20 28 6e 75 6c 6c 20 28 6d 6f 63  | tub-2.=>.2)).....(and.(null.(moc | 
| 3540 |  6b 2d 6e 69 6c 20 31 29 29 20 20 20 20 28 3d 20    28 6d 6f 63 6b 2d 31 20 34 29 20 31 29 0a 20 20  | k-nil.1))....(=.(mock-1.4).1)... | 
| 3560 |  20 20 20 20 20 20 20 28 6e 75 6c 6c 20 28 73 74    75 62 2d 6e 69 6c 20 27 61 6e 79 29 29 20 28 3d  | .......(null.(stub-nil.'any)).(= | 
| 3580 |  20 28 73 74 75 62 2d 32 29 20 32 29 29 29 20 3b    20 3d 3e 20 74 0a 22 0a 20 20 60 28 6d 6f 63 6b  | .(stub-2).2))).;.=>.t."...`(mock | 
| 35a0 |  6c 65 74 2d 66 75 6e 63 74 69 6f 6e 20 27 2c 73    70 65 63 6c 69 73 74 20 28 6c 61 6d 62 64 61 20  | let-function.',speclist.(lambda. | 
| 35c0 |  28 29 20 2c 40 62 6f 64 79 29 29 29 0a 0a 28 64    65 66 61 6c 69 61 73 20 27 73 74 75 62 6c 65 74  | ().,@body)))..(defalias.'stublet | 
| 35e0 |  20 27 6d 6f 63 6b 6c 65 74 29 0a 0a 28 70 75 74    20 27 77 69 74 68 2d 6d 6f 63 6b 20 27 6c 69 73  | .'mocklet)..(put.'with-mock.'lis | 
| 3600 |  70 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f    6e 20 30 29 0a 28 70 75 74 20 27 77 69 74 68 2d  | p-indent-function.0).(put.'with- | 
| 3620 |  73 74 75 62 20 27 6c 69 73 70 2d 69 6e 64 65 6e    74 2d 66 75 6e 63 74 69 6f 6e 20 30 29 0a 28 70  | stub.'lisp-indent-function.0).(p | 
| 3640 |  75 74 20 27 6d 6f 63 6b 6c 65 74 20 27 6c 69 73    70 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f  | ut.'mocklet.'lisp-indent-functio | 
| 3660 |  6e 20 31 29 0a 28 70 75 74 20 27 73 74 75 62 6c    65 74 20 27 6c 69 73 70 2d 69 6e 64 65 6e 74 2d  | n.1).(put.'stublet.'lisp-indent- | 
| 3680 |  66 75 6e 63 74 69 6f 6e 20 31 29 0a 0a 28 70 72    6f 76 69 64 65 20 27 65 6c 2d 6d 6f 63 6b 29 0a  | function.1)..(provide.'el-mock). | 
| 36a0 |  0a 3b 3b 3b 20 65 6c 2d 6d 6f 63 6b 2e 65 6c 20    65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00  | .;;;.el-mock.el.ends.here....... | 
| 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  | ................................ |