@claude-flow/memory 3.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agentic-flow/intelligence.json +16 -0
- package/README.md +249 -0
- package/__tests__/coverage/base.css +224 -0
- package/__tests__/coverage/block-navigation.js +87 -0
- package/__tests__/coverage/coverage-final.json +19 -0
- package/__tests__/coverage/favicon.png +0 -0
- package/__tests__/coverage/index.html +206 -0
- package/__tests__/coverage/lcov-report/base.css +224 -0
- package/__tests__/coverage/lcov-report/block-navigation.js +87 -0
- package/__tests__/coverage/lcov-report/favicon.png +0 -0
- package/__tests__/coverage/lcov-report/index.html +206 -0
- package/__tests__/coverage/lcov-report/prettify.css +1 -0
- package/__tests__/coverage/lcov-report/prettify.js +2 -0
- package/__tests__/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/__tests__/coverage/lcov-report/sorter.js +210 -0
- package/__tests__/coverage/lcov-report/src/agentdb-adapter.ts.html +2737 -0
- package/__tests__/coverage/lcov-report/src/agentdb-backend.ts.html +3130 -0
- package/__tests__/coverage/lcov-report/src/application/commands/delete-memory.command.ts.html +601 -0
- package/__tests__/coverage/lcov-report/src/application/commands/index.html +131 -0
- package/__tests__/coverage/lcov-report/src/application/commands/store-memory.command.ts.html +394 -0
- package/__tests__/coverage/lcov-report/src/application/queries/index.html +116 -0
- package/__tests__/coverage/lcov-report/src/application/queries/search-memory.query.ts.html +796 -0
- package/__tests__/coverage/lcov-report/src/application/services/index.html +116 -0
- package/__tests__/coverage/lcov-report/src/application/services/memory-application-service.ts.html +793 -0
- package/__tests__/coverage/lcov-report/src/cache-manager.ts.html +1633 -0
- package/__tests__/coverage/lcov-report/src/database-provider.ts.html +1618 -0
- package/__tests__/coverage/lcov-report/src/domain/entities/index.html +116 -0
- package/__tests__/coverage/lcov-report/src/domain/entities/memory-entry.ts.html +952 -0
- package/__tests__/coverage/lcov-report/src/domain/services/index.html +116 -0
- package/__tests__/coverage/lcov-report/src/domain/services/memory-domain-service.ts.html +1294 -0
- package/__tests__/coverage/lcov-report/src/hnsw-index.ts.html +3124 -0
- package/__tests__/coverage/lcov-report/src/hybrid-backend.ts.html +2167 -0
- package/__tests__/coverage/lcov-report/src/index.html +266 -0
- package/__tests__/coverage/lcov-report/src/infrastructure/repositories/hybrid-memory-repository.ts.html +1633 -0
- package/__tests__/coverage/lcov-report/src/infrastructure/repositories/index.html +116 -0
- package/__tests__/coverage/lcov-report/src/migration.ts.html +2092 -0
- package/__tests__/coverage/lcov-report/src/query-builder.ts.html +1711 -0
- package/__tests__/coverage/lcov-report/src/sqlite-backend.ts.html +2281 -0
- package/__tests__/coverage/lcov-report/src/sqljs-backend.ts.html +2374 -0
- package/__tests__/coverage/lcov-report/src/types.ts.html +2266 -0
- package/__tests__/coverage/lcov.info +10238 -0
- package/__tests__/coverage/prettify.css +1 -0
- package/__tests__/coverage/prettify.js +2 -0
- package/__tests__/coverage/sort-arrow-sprite.png +0 -0
- package/__tests__/coverage/sorter.js +210 -0
- package/__tests__/coverage/src/agentdb-adapter.ts.html +2737 -0
- package/__tests__/coverage/src/agentdb-backend.ts.html +3130 -0
- package/__tests__/coverage/src/application/commands/delete-memory.command.ts.html +601 -0
- package/__tests__/coverage/src/application/commands/index.html +131 -0
- package/__tests__/coverage/src/application/commands/store-memory.command.ts.html +394 -0
- package/__tests__/coverage/src/application/queries/index.html +116 -0
- package/__tests__/coverage/src/application/queries/search-memory.query.ts.html +796 -0
- package/__tests__/coverage/src/application/services/index.html +116 -0
- package/__tests__/coverage/src/application/services/memory-application-service.ts.html +793 -0
- package/__tests__/coverage/src/cache-manager.ts.html +1633 -0
- package/__tests__/coverage/src/database-provider.ts.html +1618 -0
- package/__tests__/coverage/src/domain/entities/index.html +116 -0
- package/__tests__/coverage/src/domain/entities/memory-entry.ts.html +952 -0
- package/__tests__/coverage/src/domain/services/index.html +116 -0
- package/__tests__/coverage/src/domain/services/memory-domain-service.ts.html +1294 -0
- package/__tests__/coverage/src/hnsw-index.ts.html +3124 -0
- package/__tests__/coverage/src/hybrid-backend.ts.html +2167 -0
- package/__tests__/coverage/src/index.html +266 -0
- package/__tests__/coverage/src/infrastructure/repositories/hybrid-memory-repository.ts.html +1633 -0
- package/__tests__/coverage/src/infrastructure/repositories/index.html +116 -0
- package/__tests__/coverage/src/migration.ts.html +2092 -0
- package/__tests__/coverage/src/query-builder.ts.html +1711 -0
- package/__tests__/coverage/src/sqlite-backend.ts.html +2281 -0
- package/__tests__/coverage/src/sqljs-backend.ts.html +2374 -0
- package/__tests__/coverage/src/types.ts.html +2266 -0
- package/benchmarks/cache-hit-rate.bench.ts +535 -0
- package/benchmarks/hnsw-indexing.bench.ts +552 -0
- package/benchmarks/memory-write.bench.ts +469 -0
- package/benchmarks/vector-search.bench.ts +449 -0
- package/dist/agentdb-adapter.d.ts +146 -0
- package/dist/agentdb-adapter.d.ts.map +1 -0
- package/dist/agentdb-adapter.js +679 -0
- package/dist/agentdb-adapter.js.map +1 -0
- package/dist/agentdb-backend.d.ts +214 -0
- package/dist/agentdb-backend.d.ts.map +1 -0
- package/dist/agentdb-backend.js +827 -0
- package/dist/agentdb-backend.js.map +1 -0
- package/dist/agentdb-backend.test.d.ts +7 -0
- package/dist/agentdb-backend.test.d.ts.map +1 -0
- package/dist/agentdb-backend.test.js +258 -0
- package/dist/agentdb-backend.test.js.map +1 -0
- package/dist/application/commands/delete-memory.command.d.ts +65 -0
- package/dist/application/commands/delete-memory.command.d.ts.map +1 -0
- package/dist/application/commands/delete-memory.command.js +129 -0
- package/dist/application/commands/delete-memory.command.js.map +1 -0
- package/dist/application/commands/store-memory.command.d.ts +48 -0
- package/dist/application/commands/store-memory.command.d.ts.map +1 -0
- package/dist/application/commands/store-memory.command.js +72 -0
- package/dist/application/commands/store-memory.command.js.map +1 -0
- package/dist/application/index.d.ts +12 -0
- package/dist/application/index.d.ts.map +1 -0
- package/dist/application/index.js +15 -0
- package/dist/application/index.js.map +1 -0
- package/dist/application/queries/search-memory.query.d.ts +72 -0
- package/dist/application/queries/search-memory.query.d.ts.map +1 -0
- package/dist/application/queries/search-memory.query.js +143 -0
- package/dist/application/queries/search-memory.query.js.map +1 -0
- package/dist/application/services/memory-application-service.d.ts +121 -0
- package/dist/application/services/memory-application-service.d.ts.map +1 -0
- package/dist/application/services/memory-application-service.js +190 -0
- package/dist/application/services/memory-application-service.js.map +1 -0
- package/dist/cache-manager.d.ts +134 -0
- package/dist/cache-manager.d.ts.map +1 -0
- package/dist/cache-manager.js +407 -0
- package/dist/cache-manager.js.map +1 -0
- package/dist/database-provider.d.ts +86 -0
- package/dist/database-provider.d.ts.map +1 -0
- package/dist/database-provider.js +385 -0
- package/dist/database-provider.js.map +1 -0
- package/dist/database-provider.test.d.ts +7 -0
- package/dist/database-provider.test.d.ts.map +1 -0
- package/dist/database-provider.test.js +285 -0
- package/dist/database-provider.test.js.map +1 -0
- package/dist/domain/entities/memory-entry.d.ts +143 -0
- package/dist/domain/entities/memory-entry.d.ts.map +1 -0
- package/dist/domain/entities/memory-entry.js +226 -0
- package/dist/domain/entities/memory-entry.js.map +1 -0
- package/dist/domain/index.d.ts +11 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/index.js +12 -0
- package/dist/domain/index.js.map +1 -0
- package/dist/domain/repositories/memory-repository.interface.d.ts +102 -0
- package/dist/domain/repositories/memory-repository.interface.d.ts.map +1 -0
- package/dist/domain/repositories/memory-repository.interface.js +11 -0
- package/dist/domain/repositories/memory-repository.interface.js.map +1 -0
- package/dist/domain/services/memory-domain-service.d.ts +105 -0
- package/dist/domain/services/memory-domain-service.d.ts.map +1 -0
- package/dist/domain/services/memory-domain-service.js +297 -0
- package/dist/domain/services/memory-domain-service.js.map +1 -0
- package/dist/hnsw-index.d.ts +111 -0
- package/dist/hnsw-index.d.ts.map +1 -0
- package/dist/hnsw-index.js +781 -0
- package/dist/hnsw-index.js.map +1 -0
- package/dist/hybrid-backend.d.ts +217 -0
- package/dist/hybrid-backend.d.ts.map +1 -0
- package/dist/hybrid-backend.js +491 -0
- package/dist/hybrid-backend.js.map +1 -0
- package/dist/hybrid-backend.test.d.ts +8 -0
- package/dist/hybrid-backend.test.d.ts.map +1 -0
- package/dist/hybrid-backend.test.js +320 -0
- package/dist/hybrid-backend.test.js.map +1 -0
- package/dist/index.d.ts +188 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +345 -0
- package/dist/index.js.map +1 -0
- package/dist/infrastructure/index.d.ts +17 -0
- package/dist/infrastructure/index.d.ts.map +1 -0
- package/dist/infrastructure/index.js +16 -0
- package/dist/infrastructure/index.js.map +1 -0
- package/dist/infrastructure/repositories/hybrid-memory-repository.d.ts +66 -0
- package/dist/infrastructure/repositories/hybrid-memory-repository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/hybrid-memory-repository.js +409 -0
- package/dist/infrastructure/repositories/hybrid-memory-repository.js.map +1 -0
- package/dist/migration.d.ts +68 -0
- package/dist/migration.d.ts.map +1 -0
- package/dist/migration.js +513 -0
- package/dist/migration.js.map +1 -0
- package/dist/query-builder.d.ts +211 -0
- package/dist/query-builder.d.ts.map +1 -0
- package/dist/query-builder.js +438 -0
- package/dist/query-builder.js.map +1 -0
- package/dist/sqlite-backend.d.ts +121 -0
- package/dist/sqlite-backend.d.ts.map +1 -0
- package/dist/sqlite-backend.js +564 -0
- package/dist/sqlite-backend.js.map +1 -0
- package/dist/sqljs-backend.d.ts +128 -0
- package/dist/sqljs-backend.d.ts.map +1 -0
- package/dist/sqljs-backend.js +598 -0
- package/dist/sqljs-backend.js.map +1 -0
- package/dist/types.d.ts +481 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +58 -0
- package/dist/types.js.map +1 -0
- package/docs/AGENTDB-INTEGRATION.md +388 -0
- package/docs/CROSS_PLATFORM.md +505 -0
- package/docs/WINDOWS_SUPPORT.md +422 -0
- package/examples/agentdb-example.ts +345 -0
- package/examples/cross-platform-usage.ts +326 -0
- package/framework/benchmark.ts +112 -0
- package/package.json +31 -0
- package/src/agentdb-adapter.ts +884 -0
- package/src/agentdb-backend.test.ts +339 -0
- package/src/agentdb-backend.ts +1016 -0
- package/src/application/commands/delete-memory.command.ts +172 -0
- package/src/application/commands/store-memory.command.ts +103 -0
- package/src/application/index.ts +36 -0
- package/src/application/queries/search-memory.query.ts +237 -0
- package/src/application/services/memory-application-service.ts +236 -0
- package/src/cache-manager.ts +516 -0
- package/src/database-provider.test.ts +364 -0
- package/src/database-provider.ts +511 -0
- package/src/domain/entities/memory-entry.ts +289 -0
- package/src/domain/index.ts +35 -0
- package/src/domain/repositories/memory-repository.interface.ts +120 -0
- package/src/domain/services/memory-domain-service.ts +403 -0
- package/src/hnsw-index.ts +1013 -0
- package/src/hybrid-backend.test.ts +399 -0
- package/src/hybrid-backend.ts +694 -0
- package/src/index.ts +515 -0
- package/src/infrastructure/index.ts +23 -0
- package/src/infrastructure/repositories/hybrid-memory-repository.ts +516 -0
- package/src/migration.ts +669 -0
- package/src/query-builder.ts +542 -0
- package/src/sqlite-backend.ts +732 -0
- package/src/sqljs-backend.ts +763 -0
- package/src/types.ts +727 -0
- package/tsconfig.json +9 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/verify-cross-platform.ts +170 -0
|
@@ -0,0 +1,2266 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for src/types.ts</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
<link rel="stylesheet" href="../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<style type='text/css'>
|
|
13
|
+
.coverage-summary .sorter {
|
|
14
|
+
background-image: url(../sort-arrow-sprite.png);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div class='wrapper'>
|
|
21
|
+
<div class='pad1'>
|
|
22
|
+
<h1><a href="../index.html">All files</a> / <a href="index.html">src</a> types.ts</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">0% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>0/727</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">0% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>0/1</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">0% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>0/1</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">0% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>0/727</span>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<p class="quiet">
|
|
55
|
+
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
+
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line low'></div>
|
|
65
|
+
<pre><table class="coverage">
|
|
66
|
+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
+
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
+
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
+
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
+
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
+
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
+
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
+
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
+
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
+
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
+
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
+
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
+
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
+
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
+
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
+
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
+
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
+
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
+
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
+
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
+
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
+
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
+
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
+
<a name='L28'></a><a href='#L28'>28</a>
|
|
94
|
+
<a name='L29'></a><a href='#L29'>29</a>
|
|
95
|
+
<a name='L30'></a><a href='#L30'>30</a>
|
|
96
|
+
<a name='L31'></a><a href='#L31'>31</a>
|
|
97
|
+
<a name='L32'></a><a href='#L32'>32</a>
|
|
98
|
+
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
|
+
<a name='L34'></a><a href='#L34'>34</a>
|
|
100
|
+
<a name='L35'></a><a href='#L35'>35</a>
|
|
101
|
+
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
|
+
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
|
+
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
|
+
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
|
+
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
+
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
+
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
+
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
|
+
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
|
+
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
|
+
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
|
+
<a name='L47'></a><a href='#L47'>47</a>
|
|
113
|
+
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
|
+
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
|
+
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
|
+
<a name='L51'></a><a href='#L51'>51</a>
|
|
117
|
+
<a name='L52'></a><a href='#L52'>52</a>
|
|
118
|
+
<a name='L53'></a><a href='#L53'>53</a>
|
|
119
|
+
<a name='L54'></a><a href='#L54'>54</a>
|
|
120
|
+
<a name='L55'></a><a href='#L55'>55</a>
|
|
121
|
+
<a name='L56'></a><a href='#L56'>56</a>
|
|
122
|
+
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
|
+
<a name='L58'></a><a href='#L58'>58</a>
|
|
124
|
+
<a name='L59'></a><a href='#L59'>59</a>
|
|
125
|
+
<a name='L60'></a><a href='#L60'>60</a>
|
|
126
|
+
<a name='L61'></a><a href='#L61'>61</a>
|
|
127
|
+
<a name='L62'></a><a href='#L62'>62</a>
|
|
128
|
+
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
|
+
<a name='L64'></a><a href='#L64'>64</a>
|
|
130
|
+
<a name='L65'></a><a href='#L65'>65</a>
|
|
131
|
+
<a name='L66'></a><a href='#L66'>66</a>
|
|
132
|
+
<a name='L67'></a><a href='#L67'>67</a>
|
|
133
|
+
<a name='L68'></a><a href='#L68'>68</a>
|
|
134
|
+
<a name='L69'></a><a href='#L69'>69</a>
|
|
135
|
+
<a name='L70'></a><a href='#L70'>70</a>
|
|
136
|
+
<a name='L71'></a><a href='#L71'>71</a>
|
|
137
|
+
<a name='L72'></a><a href='#L72'>72</a>
|
|
138
|
+
<a name='L73'></a><a href='#L73'>73</a>
|
|
139
|
+
<a name='L74'></a><a href='#L74'>74</a>
|
|
140
|
+
<a name='L75'></a><a href='#L75'>75</a>
|
|
141
|
+
<a name='L76'></a><a href='#L76'>76</a>
|
|
142
|
+
<a name='L77'></a><a href='#L77'>77</a>
|
|
143
|
+
<a name='L78'></a><a href='#L78'>78</a>
|
|
144
|
+
<a name='L79'></a><a href='#L79'>79</a>
|
|
145
|
+
<a name='L80'></a><a href='#L80'>80</a>
|
|
146
|
+
<a name='L81'></a><a href='#L81'>81</a>
|
|
147
|
+
<a name='L82'></a><a href='#L82'>82</a>
|
|
148
|
+
<a name='L83'></a><a href='#L83'>83</a>
|
|
149
|
+
<a name='L84'></a><a href='#L84'>84</a>
|
|
150
|
+
<a name='L85'></a><a href='#L85'>85</a>
|
|
151
|
+
<a name='L86'></a><a href='#L86'>86</a>
|
|
152
|
+
<a name='L87'></a><a href='#L87'>87</a>
|
|
153
|
+
<a name='L88'></a><a href='#L88'>88</a>
|
|
154
|
+
<a name='L89'></a><a href='#L89'>89</a>
|
|
155
|
+
<a name='L90'></a><a href='#L90'>90</a>
|
|
156
|
+
<a name='L91'></a><a href='#L91'>91</a>
|
|
157
|
+
<a name='L92'></a><a href='#L92'>92</a>
|
|
158
|
+
<a name='L93'></a><a href='#L93'>93</a>
|
|
159
|
+
<a name='L94'></a><a href='#L94'>94</a>
|
|
160
|
+
<a name='L95'></a><a href='#L95'>95</a>
|
|
161
|
+
<a name='L96'></a><a href='#L96'>96</a>
|
|
162
|
+
<a name='L97'></a><a href='#L97'>97</a>
|
|
163
|
+
<a name='L98'></a><a href='#L98'>98</a>
|
|
164
|
+
<a name='L99'></a><a href='#L99'>99</a>
|
|
165
|
+
<a name='L100'></a><a href='#L100'>100</a>
|
|
166
|
+
<a name='L101'></a><a href='#L101'>101</a>
|
|
167
|
+
<a name='L102'></a><a href='#L102'>102</a>
|
|
168
|
+
<a name='L103'></a><a href='#L103'>103</a>
|
|
169
|
+
<a name='L104'></a><a href='#L104'>104</a>
|
|
170
|
+
<a name='L105'></a><a href='#L105'>105</a>
|
|
171
|
+
<a name='L106'></a><a href='#L106'>106</a>
|
|
172
|
+
<a name='L107'></a><a href='#L107'>107</a>
|
|
173
|
+
<a name='L108'></a><a href='#L108'>108</a>
|
|
174
|
+
<a name='L109'></a><a href='#L109'>109</a>
|
|
175
|
+
<a name='L110'></a><a href='#L110'>110</a>
|
|
176
|
+
<a name='L111'></a><a href='#L111'>111</a>
|
|
177
|
+
<a name='L112'></a><a href='#L112'>112</a>
|
|
178
|
+
<a name='L113'></a><a href='#L113'>113</a>
|
|
179
|
+
<a name='L114'></a><a href='#L114'>114</a>
|
|
180
|
+
<a name='L115'></a><a href='#L115'>115</a>
|
|
181
|
+
<a name='L116'></a><a href='#L116'>116</a>
|
|
182
|
+
<a name='L117'></a><a href='#L117'>117</a>
|
|
183
|
+
<a name='L118'></a><a href='#L118'>118</a>
|
|
184
|
+
<a name='L119'></a><a href='#L119'>119</a>
|
|
185
|
+
<a name='L120'></a><a href='#L120'>120</a>
|
|
186
|
+
<a name='L121'></a><a href='#L121'>121</a>
|
|
187
|
+
<a name='L122'></a><a href='#L122'>122</a>
|
|
188
|
+
<a name='L123'></a><a href='#L123'>123</a>
|
|
189
|
+
<a name='L124'></a><a href='#L124'>124</a>
|
|
190
|
+
<a name='L125'></a><a href='#L125'>125</a>
|
|
191
|
+
<a name='L126'></a><a href='#L126'>126</a>
|
|
192
|
+
<a name='L127'></a><a href='#L127'>127</a>
|
|
193
|
+
<a name='L128'></a><a href='#L128'>128</a>
|
|
194
|
+
<a name='L129'></a><a href='#L129'>129</a>
|
|
195
|
+
<a name='L130'></a><a href='#L130'>130</a>
|
|
196
|
+
<a name='L131'></a><a href='#L131'>131</a>
|
|
197
|
+
<a name='L132'></a><a href='#L132'>132</a>
|
|
198
|
+
<a name='L133'></a><a href='#L133'>133</a>
|
|
199
|
+
<a name='L134'></a><a href='#L134'>134</a>
|
|
200
|
+
<a name='L135'></a><a href='#L135'>135</a>
|
|
201
|
+
<a name='L136'></a><a href='#L136'>136</a>
|
|
202
|
+
<a name='L137'></a><a href='#L137'>137</a>
|
|
203
|
+
<a name='L138'></a><a href='#L138'>138</a>
|
|
204
|
+
<a name='L139'></a><a href='#L139'>139</a>
|
|
205
|
+
<a name='L140'></a><a href='#L140'>140</a>
|
|
206
|
+
<a name='L141'></a><a href='#L141'>141</a>
|
|
207
|
+
<a name='L142'></a><a href='#L142'>142</a>
|
|
208
|
+
<a name='L143'></a><a href='#L143'>143</a>
|
|
209
|
+
<a name='L144'></a><a href='#L144'>144</a>
|
|
210
|
+
<a name='L145'></a><a href='#L145'>145</a>
|
|
211
|
+
<a name='L146'></a><a href='#L146'>146</a>
|
|
212
|
+
<a name='L147'></a><a href='#L147'>147</a>
|
|
213
|
+
<a name='L148'></a><a href='#L148'>148</a>
|
|
214
|
+
<a name='L149'></a><a href='#L149'>149</a>
|
|
215
|
+
<a name='L150'></a><a href='#L150'>150</a>
|
|
216
|
+
<a name='L151'></a><a href='#L151'>151</a>
|
|
217
|
+
<a name='L152'></a><a href='#L152'>152</a>
|
|
218
|
+
<a name='L153'></a><a href='#L153'>153</a>
|
|
219
|
+
<a name='L154'></a><a href='#L154'>154</a>
|
|
220
|
+
<a name='L155'></a><a href='#L155'>155</a>
|
|
221
|
+
<a name='L156'></a><a href='#L156'>156</a>
|
|
222
|
+
<a name='L157'></a><a href='#L157'>157</a>
|
|
223
|
+
<a name='L158'></a><a href='#L158'>158</a>
|
|
224
|
+
<a name='L159'></a><a href='#L159'>159</a>
|
|
225
|
+
<a name='L160'></a><a href='#L160'>160</a>
|
|
226
|
+
<a name='L161'></a><a href='#L161'>161</a>
|
|
227
|
+
<a name='L162'></a><a href='#L162'>162</a>
|
|
228
|
+
<a name='L163'></a><a href='#L163'>163</a>
|
|
229
|
+
<a name='L164'></a><a href='#L164'>164</a>
|
|
230
|
+
<a name='L165'></a><a href='#L165'>165</a>
|
|
231
|
+
<a name='L166'></a><a href='#L166'>166</a>
|
|
232
|
+
<a name='L167'></a><a href='#L167'>167</a>
|
|
233
|
+
<a name='L168'></a><a href='#L168'>168</a>
|
|
234
|
+
<a name='L169'></a><a href='#L169'>169</a>
|
|
235
|
+
<a name='L170'></a><a href='#L170'>170</a>
|
|
236
|
+
<a name='L171'></a><a href='#L171'>171</a>
|
|
237
|
+
<a name='L172'></a><a href='#L172'>172</a>
|
|
238
|
+
<a name='L173'></a><a href='#L173'>173</a>
|
|
239
|
+
<a name='L174'></a><a href='#L174'>174</a>
|
|
240
|
+
<a name='L175'></a><a href='#L175'>175</a>
|
|
241
|
+
<a name='L176'></a><a href='#L176'>176</a>
|
|
242
|
+
<a name='L177'></a><a href='#L177'>177</a>
|
|
243
|
+
<a name='L178'></a><a href='#L178'>178</a>
|
|
244
|
+
<a name='L179'></a><a href='#L179'>179</a>
|
|
245
|
+
<a name='L180'></a><a href='#L180'>180</a>
|
|
246
|
+
<a name='L181'></a><a href='#L181'>181</a>
|
|
247
|
+
<a name='L182'></a><a href='#L182'>182</a>
|
|
248
|
+
<a name='L183'></a><a href='#L183'>183</a>
|
|
249
|
+
<a name='L184'></a><a href='#L184'>184</a>
|
|
250
|
+
<a name='L185'></a><a href='#L185'>185</a>
|
|
251
|
+
<a name='L186'></a><a href='#L186'>186</a>
|
|
252
|
+
<a name='L187'></a><a href='#L187'>187</a>
|
|
253
|
+
<a name='L188'></a><a href='#L188'>188</a>
|
|
254
|
+
<a name='L189'></a><a href='#L189'>189</a>
|
|
255
|
+
<a name='L190'></a><a href='#L190'>190</a>
|
|
256
|
+
<a name='L191'></a><a href='#L191'>191</a>
|
|
257
|
+
<a name='L192'></a><a href='#L192'>192</a>
|
|
258
|
+
<a name='L193'></a><a href='#L193'>193</a>
|
|
259
|
+
<a name='L194'></a><a href='#L194'>194</a>
|
|
260
|
+
<a name='L195'></a><a href='#L195'>195</a>
|
|
261
|
+
<a name='L196'></a><a href='#L196'>196</a>
|
|
262
|
+
<a name='L197'></a><a href='#L197'>197</a>
|
|
263
|
+
<a name='L198'></a><a href='#L198'>198</a>
|
|
264
|
+
<a name='L199'></a><a href='#L199'>199</a>
|
|
265
|
+
<a name='L200'></a><a href='#L200'>200</a>
|
|
266
|
+
<a name='L201'></a><a href='#L201'>201</a>
|
|
267
|
+
<a name='L202'></a><a href='#L202'>202</a>
|
|
268
|
+
<a name='L203'></a><a href='#L203'>203</a>
|
|
269
|
+
<a name='L204'></a><a href='#L204'>204</a>
|
|
270
|
+
<a name='L205'></a><a href='#L205'>205</a>
|
|
271
|
+
<a name='L206'></a><a href='#L206'>206</a>
|
|
272
|
+
<a name='L207'></a><a href='#L207'>207</a>
|
|
273
|
+
<a name='L208'></a><a href='#L208'>208</a>
|
|
274
|
+
<a name='L209'></a><a href='#L209'>209</a>
|
|
275
|
+
<a name='L210'></a><a href='#L210'>210</a>
|
|
276
|
+
<a name='L211'></a><a href='#L211'>211</a>
|
|
277
|
+
<a name='L212'></a><a href='#L212'>212</a>
|
|
278
|
+
<a name='L213'></a><a href='#L213'>213</a>
|
|
279
|
+
<a name='L214'></a><a href='#L214'>214</a>
|
|
280
|
+
<a name='L215'></a><a href='#L215'>215</a>
|
|
281
|
+
<a name='L216'></a><a href='#L216'>216</a>
|
|
282
|
+
<a name='L217'></a><a href='#L217'>217</a>
|
|
283
|
+
<a name='L218'></a><a href='#L218'>218</a>
|
|
284
|
+
<a name='L219'></a><a href='#L219'>219</a>
|
|
285
|
+
<a name='L220'></a><a href='#L220'>220</a>
|
|
286
|
+
<a name='L221'></a><a href='#L221'>221</a>
|
|
287
|
+
<a name='L222'></a><a href='#L222'>222</a>
|
|
288
|
+
<a name='L223'></a><a href='#L223'>223</a>
|
|
289
|
+
<a name='L224'></a><a href='#L224'>224</a>
|
|
290
|
+
<a name='L225'></a><a href='#L225'>225</a>
|
|
291
|
+
<a name='L226'></a><a href='#L226'>226</a>
|
|
292
|
+
<a name='L227'></a><a href='#L227'>227</a>
|
|
293
|
+
<a name='L228'></a><a href='#L228'>228</a>
|
|
294
|
+
<a name='L229'></a><a href='#L229'>229</a>
|
|
295
|
+
<a name='L230'></a><a href='#L230'>230</a>
|
|
296
|
+
<a name='L231'></a><a href='#L231'>231</a>
|
|
297
|
+
<a name='L232'></a><a href='#L232'>232</a>
|
|
298
|
+
<a name='L233'></a><a href='#L233'>233</a>
|
|
299
|
+
<a name='L234'></a><a href='#L234'>234</a>
|
|
300
|
+
<a name='L235'></a><a href='#L235'>235</a>
|
|
301
|
+
<a name='L236'></a><a href='#L236'>236</a>
|
|
302
|
+
<a name='L237'></a><a href='#L237'>237</a>
|
|
303
|
+
<a name='L238'></a><a href='#L238'>238</a>
|
|
304
|
+
<a name='L239'></a><a href='#L239'>239</a>
|
|
305
|
+
<a name='L240'></a><a href='#L240'>240</a>
|
|
306
|
+
<a name='L241'></a><a href='#L241'>241</a>
|
|
307
|
+
<a name='L242'></a><a href='#L242'>242</a>
|
|
308
|
+
<a name='L243'></a><a href='#L243'>243</a>
|
|
309
|
+
<a name='L244'></a><a href='#L244'>244</a>
|
|
310
|
+
<a name='L245'></a><a href='#L245'>245</a>
|
|
311
|
+
<a name='L246'></a><a href='#L246'>246</a>
|
|
312
|
+
<a name='L247'></a><a href='#L247'>247</a>
|
|
313
|
+
<a name='L248'></a><a href='#L248'>248</a>
|
|
314
|
+
<a name='L249'></a><a href='#L249'>249</a>
|
|
315
|
+
<a name='L250'></a><a href='#L250'>250</a>
|
|
316
|
+
<a name='L251'></a><a href='#L251'>251</a>
|
|
317
|
+
<a name='L252'></a><a href='#L252'>252</a>
|
|
318
|
+
<a name='L253'></a><a href='#L253'>253</a>
|
|
319
|
+
<a name='L254'></a><a href='#L254'>254</a>
|
|
320
|
+
<a name='L255'></a><a href='#L255'>255</a>
|
|
321
|
+
<a name='L256'></a><a href='#L256'>256</a>
|
|
322
|
+
<a name='L257'></a><a href='#L257'>257</a>
|
|
323
|
+
<a name='L258'></a><a href='#L258'>258</a>
|
|
324
|
+
<a name='L259'></a><a href='#L259'>259</a>
|
|
325
|
+
<a name='L260'></a><a href='#L260'>260</a>
|
|
326
|
+
<a name='L261'></a><a href='#L261'>261</a>
|
|
327
|
+
<a name='L262'></a><a href='#L262'>262</a>
|
|
328
|
+
<a name='L263'></a><a href='#L263'>263</a>
|
|
329
|
+
<a name='L264'></a><a href='#L264'>264</a>
|
|
330
|
+
<a name='L265'></a><a href='#L265'>265</a>
|
|
331
|
+
<a name='L266'></a><a href='#L266'>266</a>
|
|
332
|
+
<a name='L267'></a><a href='#L267'>267</a>
|
|
333
|
+
<a name='L268'></a><a href='#L268'>268</a>
|
|
334
|
+
<a name='L269'></a><a href='#L269'>269</a>
|
|
335
|
+
<a name='L270'></a><a href='#L270'>270</a>
|
|
336
|
+
<a name='L271'></a><a href='#L271'>271</a>
|
|
337
|
+
<a name='L272'></a><a href='#L272'>272</a>
|
|
338
|
+
<a name='L273'></a><a href='#L273'>273</a>
|
|
339
|
+
<a name='L274'></a><a href='#L274'>274</a>
|
|
340
|
+
<a name='L275'></a><a href='#L275'>275</a>
|
|
341
|
+
<a name='L276'></a><a href='#L276'>276</a>
|
|
342
|
+
<a name='L277'></a><a href='#L277'>277</a>
|
|
343
|
+
<a name='L278'></a><a href='#L278'>278</a>
|
|
344
|
+
<a name='L279'></a><a href='#L279'>279</a>
|
|
345
|
+
<a name='L280'></a><a href='#L280'>280</a>
|
|
346
|
+
<a name='L281'></a><a href='#L281'>281</a>
|
|
347
|
+
<a name='L282'></a><a href='#L282'>282</a>
|
|
348
|
+
<a name='L283'></a><a href='#L283'>283</a>
|
|
349
|
+
<a name='L284'></a><a href='#L284'>284</a>
|
|
350
|
+
<a name='L285'></a><a href='#L285'>285</a>
|
|
351
|
+
<a name='L286'></a><a href='#L286'>286</a>
|
|
352
|
+
<a name='L287'></a><a href='#L287'>287</a>
|
|
353
|
+
<a name='L288'></a><a href='#L288'>288</a>
|
|
354
|
+
<a name='L289'></a><a href='#L289'>289</a>
|
|
355
|
+
<a name='L290'></a><a href='#L290'>290</a>
|
|
356
|
+
<a name='L291'></a><a href='#L291'>291</a>
|
|
357
|
+
<a name='L292'></a><a href='#L292'>292</a>
|
|
358
|
+
<a name='L293'></a><a href='#L293'>293</a>
|
|
359
|
+
<a name='L294'></a><a href='#L294'>294</a>
|
|
360
|
+
<a name='L295'></a><a href='#L295'>295</a>
|
|
361
|
+
<a name='L296'></a><a href='#L296'>296</a>
|
|
362
|
+
<a name='L297'></a><a href='#L297'>297</a>
|
|
363
|
+
<a name='L298'></a><a href='#L298'>298</a>
|
|
364
|
+
<a name='L299'></a><a href='#L299'>299</a>
|
|
365
|
+
<a name='L300'></a><a href='#L300'>300</a>
|
|
366
|
+
<a name='L301'></a><a href='#L301'>301</a>
|
|
367
|
+
<a name='L302'></a><a href='#L302'>302</a>
|
|
368
|
+
<a name='L303'></a><a href='#L303'>303</a>
|
|
369
|
+
<a name='L304'></a><a href='#L304'>304</a>
|
|
370
|
+
<a name='L305'></a><a href='#L305'>305</a>
|
|
371
|
+
<a name='L306'></a><a href='#L306'>306</a>
|
|
372
|
+
<a name='L307'></a><a href='#L307'>307</a>
|
|
373
|
+
<a name='L308'></a><a href='#L308'>308</a>
|
|
374
|
+
<a name='L309'></a><a href='#L309'>309</a>
|
|
375
|
+
<a name='L310'></a><a href='#L310'>310</a>
|
|
376
|
+
<a name='L311'></a><a href='#L311'>311</a>
|
|
377
|
+
<a name='L312'></a><a href='#L312'>312</a>
|
|
378
|
+
<a name='L313'></a><a href='#L313'>313</a>
|
|
379
|
+
<a name='L314'></a><a href='#L314'>314</a>
|
|
380
|
+
<a name='L315'></a><a href='#L315'>315</a>
|
|
381
|
+
<a name='L316'></a><a href='#L316'>316</a>
|
|
382
|
+
<a name='L317'></a><a href='#L317'>317</a>
|
|
383
|
+
<a name='L318'></a><a href='#L318'>318</a>
|
|
384
|
+
<a name='L319'></a><a href='#L319'>319</a>
|
|
385
|
+
<a name='L320'></a><a href='#L320'>320</a>
|
|
386
|
+
<a name='L321'></a><a href='#L321'>321</a>
|
|
387
|
+
<a name='L322'></a><a href='#L322'>322</a>
|
|
388
|
+
<a name='L323'></a><a href='#L323'>323</a>
|
|
389
|
+
<a name='L324'></a><a href='#L324'>324</a>
|
|
390
|
+
<a name='L325'></a><a href='#L325'>325</a>
|
|
391
|
+
<a name='L326'></a><a href='#L326'>326</a>
|
|
392
|
+
<a name='L327'></a><a href='#L327'>327</a>
|
|
393
|
+
<a name='L328'></a><a href='#L328'>328</a>
|
|
394
|
+
<a name='L329'></a><a href='#L329'>329</a>
|
|
395
|
+
<a name='L330'></a><a href='#L330'>330</a>
|
|
396
|
+
<a name='L331'></a><a href='#L331'>331</a>
|
|
397
|
+
<a name='L332'></a><a href='#L332'>332</a>
|
|
398
|
+
<a name='L333'></a><a href='#L333'>333</a>
|
|
399
|
+
<a name='L334'></a><a href='#L334'>334</a>
|
|
400
|
+
<a name='L335'></a><a href='#L335'>335</a>
|
|
401
|
+
<a name='L336'></a><a href='#L336'>336</a>
|
|
402
|
+
<a name='L337'></a><a href='#L337'>337</a>
|
|
403
|
+
<a name='L338'></a><a href='#L338'>338</a>
|
|
404
|
+
<a name='L339'></a><a href='#L339'>339</a>
|
|
405
|
+
<a name='L340'></a><a href='#L340'>340</a>
|
|
406
|
+
<a name='L341'></a><a href='#L341'>341</a>
|
|
407
|
+
<a name='L342'></a><a href='#L342'>342</a>
|
|
408
|
+
<a name='L343'></a><a href='#L343'>343</a>
|
|
409
|
+
<a name='L344'></a><a href='#L344'>344</a>
|
|
410
|
+
<a name='L345'></a><a href='#L345'>345</a>
|
|
411
|
+
<a name='L346'></a><a href='#L346'>346</a>
|
|
412
|
+
<a name='L347'></a><a href='#L347'>347</a>
|
|
413
|
+
<a name='L348'></a><a href='#L348'>348</a>
|
|
414
|
+
<a name='L349'></a><a href='#L349'>349</a>
|
|
415
|
+
<a name='L350'></a><a href='#L350'>350</a>
|
|
416
|
+
<a name='L351'></a><a href='#L351'>351</a>
|
|
417
|
+
<a name='L352'></a><a href='#L352'>352</a>
|
|
418
|
+
<a name='L353'></a><a href='#L353'>353</a>
|
|
419
|
+
<a name='L354'></a><a href='#L354'>354</a>
|
|
420
|
+
<a name='L355'></a><a href='#L355'>355</a>
|
|
421
|
+
<a name='L356'></a><a href='#L356'>356</a>
|
|
422
|
+
<a name='L357'></a><a href='#L357'>357</a>
|
|
423
|
+
<a name='L358'></a><a href='#L358'>358</a>
|
|
424
|
+
<a name='L359'></a><a href='#L359'>359</a>
|
|
425
|
+
<a name='L360'></a><a href='#L360'>360</a>
|
|
426
|
+
<a name='L361'></a><a href='#L361'>361</a>
|
|
427
|
+
<a name='L362'></a><a href='#L362'>362</a>
|
|
428
|
+
<a name='L363'></a><a href='#L363'>363</a>
|
|
429
|
+
<a name='L364'></a><a href='#L364'>364</a>
|
|
430
|
+
<a name='L365'></a><a href='#L365'>365</a>
|
|
431
|
+
<a name='L366'></a><a href='#L366'>366</a>
|
|
432
|
+
<a name='L367'></a><a href='#L367'>367</a>
|
|
433
|
+
<a name='L368'></a><a href='#L368'>368</a>
|
|
434
|
+
<a name='L369'></a><a href='#L369'>369</a>
|
|
435
|
+
<a name='L370'></a><a href='#L370'>370</a>
|
|
436
|
+
<a name='L371'></a><a href='#L371'>371</a>
|
|
437
|
+
<a name='L372'></a><a href='#L372'>372</a>
|
|
438
|
+
<a name='L373'></a><a href='#L373'>373</a>
|
|
439
|
+
<a name='L374'></a><a href='#L374'>374</a>
|
|
440
|
+
<a name='L375'></a><a href='#L375'>375</a>
|
|
441
|
+
<a name='L376'></a><a href='#L376'>376</a>
|
|
442
|
+
<a name='L377'></a><a href='#L377'>377</a>
|
|
443
|
+
<a name='L378'></a><a href='#L378'>378</a>
|
|
444
|
+
<a name='L379'></a><a href='#L379'>379</a>
|
|
445
|
+
<a name='L380'></a><a href='#L380'>380</a>
|
|
446
|
+
<a name='L381'></a><a href='#L381'>381</a>
|
|
447
|
+
<a name='L382'></a><a href='#L382'>382</a>
|
|
448
|
+
<a name='L383'></a><a href='#L383'>383</a>
|
|
449
|
+
<a name='L384'></a><a href='#L384'>384</a>
|
|
450
|
+
<a name='L385'></a><a href='#L385'>385</a>
|
|
451
|
+
<a name='L386'></a><a href='#L386'>386</a>
|
|
452
|
+
<a name='L387'></a><a href='#L387'>387</a>
|
|
453
|
+
<a name='L388'></a><a href='#L388'>388</a>
|
|
454
|
+
<a name='L389'></a><a href='#L389'>389</a>
|
|
455
|
+
<a name='L390'></a><a href='#L390'>390</a>
|
|
456
|
+
<a name='L391'></a><a href='#L391'>391</a>
|
|
457
|
+
<a name='L392'></a><a href='#L392'>392</a>
|
|
458
|
+
<a name='L393'></a><a href='#L393'>393</a>
|
|
459
|
+
<a name='L394'></a><a href='#L394'>394</a>
|
|
460
|
+
<a name='L395'></a><a href='#L395'>395</a>
|
|
461
|
+
<a name='L396'></a><a href='#L396'>396</a>
|
|
462
|
+
<a name='L397'></a><a href='#L397'>397</a>
|
|
463
|
+
<a name='L398'></a><a href='#L398'>398</a>
|
|
464
|
+
<a name='L399'></a><a href='#L399'>399</a>
|
|
465
|
+
<a name='L400'></a><a href='#L400'>400</a>
|
|
466
|
+
<a name='L401'></a><a href='#L401'>401</a>
|
|
467
|
+
<a name='L402'></a><a href='#L402'>402</a>
|
|
468
|
+
<a name='L403'></a><a href='#L403'>403</a>
|
|
469
|
+
<a name='L404'></a><a href='#L404'>404</a>
|
|
470
|
+
<a name='L405'></a><a href='#L405'>405</a>
|
|
471
|
+
<a name='L406'></a><a href='#L406'>406</a>
|
|
472
|
+
<a name='L407'></a><a href='#L407'>407</a>
|
|
473
|
+
<a name='L408'></a><a href='#L408'>408</a>
|
|
474
|
+
<a name='L409'></a><a href='#L409'>409</a>
|
|
475
|
+
<a name='L410'></a><a href='#L410'>410</a>
|
|
476
|
+
<a name='L411'></a><a href='#L411'>411</a>
|
|
477
|
+
<a name='L412'></a><a href='#L412'>412</a>
|
|
478
|
+
<a name='L413'></a><a href='#L413'>413</a>
|
|
479
|
+
<a name='L414'></a><a href='#L414'>414</a>
|
|
480
|
+
<a name='L415'></a><a href='#L415'>415</a>
|
|
481
|
+
<a name='L416'></a><a href='#L416'>416</a>
|
|
482
|
+
<a name='L417'></a><a href='#L417'>417</a>
|
|
483
|
+
<a name='L418'></a><a href='#L418'>418</a>
|
|
484
|
+
<a name='L419'></a><a href='#L419'>419</a>
|
|
485
|
+
<a name='L420'></a><a href='#L420'>420</a>
|
|
486
|
+
<a name='L421'></a><a href='#L421'>421</a>
|
|
487
|
+
<a name='L422'></a><a href='#L422'>422</a>
|
|
488
|
+
<a name='L423'></a><a href='#L423'>423</a>
|
|
489
|
+
<a name='L424'></a><a href='#L424'>424</a>
|
|
490
|
+
<a name='L425'></a><a href='#L425'>425</a>
|
|
491
|
+
<a name='L426'></a><a href='#L426'>426</a>
|
|
492
|
+
<a name='L427'></a><a href='#L427'>427</a>
|
|
493
|
+
<a name='L428'></a><a href='#L428'>428</a>
|
|
494
|
+
<a name='L429'></a><a href='#L429'>429</a>
|
|
495
|
+
<a name='L430'></a><a href='#L430'>430</a>
|
|
496
|
+
<a name='L431'></a><a href='#L431'>431</a>
|
|
497
|
+
<a name='L432'></a><a href='#L432'>432</a>
|
|
498
|
+
<a name='L433'></a><a href='#L433'>433</a>
|
|
499
|
+
<a name='L434'></a><a href='#L434'>434</a>
|
|
500
|
+
<a name='L435'></a><a href='#L435'>435</a>
|
|
501
|
+
<a name='L436'></a><a href='#L436'>436</a>
|
|
502
|
+
<a name='L437'></a><a href='#L437'>437</a>
|
|
503
|
+
<a name='L438'></a><a href='#L438'>438</a>
|
|
504
|
+
<a name='L439'></a><a href='#L439'>439</a>
|
|
505
|
+
<a name='L440'></a><a href='#L440'>440</a>
|
|
506
|
+
<a name='L441'></a><a href='#L441'>441</a>
|
|
507
|
+
<a name='L442'></a><a href='#L442'>442</a>
|
|
508
|
+
<a name='L443'></a><a href='#L443'>443</a>
|
|
509
|
+
<a name='L444'></a><a href='#L444'>444</a>
|
|
510
|
+
<a name='L445'></a><a href='#L445'>445</a>
|
|
511
|
+
<a name='L446'></a><a href='#L446'>446</a>
|
|
512
|
+
<a name='L447'></a><a href='#L447'>447</a>
|
|
513
|
+
<a name='L448'></a><a href='#L448'>448</a>
|
|
514
|
+
<a name='L449'></a><a href='#L449'>449</a>
|
|
515
|
+
<a name='L450'></a><a href='#L450'>450</a>
|
|
516
|
+
<a name='L451'></a><a href='#L451'>451</a>
|
|
517
|
+
<a name='L452'></a><a href='#L452'>452</a>
|
|
518
|
+
<a name='L453'></a><a href='#L453'>453</a>
|
|
519
|
+
<a name='L454'></a><a href='#L454'>454</a>
|
|
520
|
+
<a name='L455'></a><a href='#L455'>455</a>
|
|
521
|
+
<a name='L456'></a><a href='#L456'>456</a>
|
|
522
|
+
<a name='L457'></a><a href='#L457'>457</a>
|
|
523
|
+
<a name='L458'></a><a href='#L458'>458</a>
|
|
524
|
+
<a name='L459'></a><a href='#L459'>459</a>
|
|
525
|
+
<a name='L460'></a><a href='#L460'>460</a>
|
|
526
|
+
<a name='L461'></a><a href='#L461'>461</a>
|
|
527
|
+
<a name='L462'></a><a href='#L462'>462</a>
|
|
528
|
+
<a name='L463'></a><a href='#L463'>463</a>
|
|
529
|
+
<a name='L464'></a><a href='#L464'>464</a>
|
|
530
|
+
<a name='L465'></a><a href='#L465'>465</a>
|
|
531
|
+
<a name='L466'></a><a href='#L466'>466</a>
|
|
532
|
+
<a name='L467'></a><a href='#L467'>467</a>
|
|
533
|
+
<a name='L468'></a><a href='#L468'>468</a>
|
|
534
|
+
<a name='L469'></a><a href='#L469'>469</a>
|
|
535
|
+
<a name='L470'></a><a href='#L470'>470</a>
|
|
536
|
+
<a name='L471'></a><a href='#L471'>471</a>
|
|
537
|
+
<a name='L472'></a><a href='#L472'>472</a>
|
|
538
|
+
<a name='L473'></a><a href='#L473'>473</a>
|
|
539
|
+
<a name='L474'></a><a href='#L474'>474</a>
|
|
540
|
+
<a name='L475'></a><a href='#L475'>475</a>
|
|
541
|
+
<a name='L476'></a><a href='#L476'>476</a>
|
|
542
|
+
<a name='L477'></a><a href='#L477'>477</a>
|
|
543
|
+
<a name='L478'></a><a href='#L478'>478</a>
|
|
544
|
+
<a name='L479'></a><a href='#L479'>479</a>
|
|
545
|
+
<a name='L480'></a><a href='#L480'>480</a>
|
|
546
|
+
<a name='L481'></a><a href='#L481'>481</a>
|
|
547
|
+
<a name='L482'></a><a href='#L482'>482</a>
|
|
548
|
+
<a name='L483'></a><a href='#L483'>483</a>
|
|
549
|
+
<a name='L484'></a><a href='#L484'>484</a>
|
|
550
|
+
<a name='L485'></a><a href='#L485'>485</a>
|
|
551
|
+
<a name='L486'></a><a href='#L486'>486</a>
|
|
552
|
+
<a name='L487'></a><a href='#L487'>487</a>
|
|
553
|
+
<a name='L488'></a><a href='#L488'>488</a>
|
|
554
|
+
<a name='L489'></a><a href='#L489'>489</a>
|
|
555
|
+
<a name='L490'></a><a href='#L490'>490</a>
|
|
556
|
+
<a name='L491'></a><a href='#L491'>491</a>
|
|
557
|
+
<a name='L492'></a><a href='#L492'>492</a>
|
|
558
|
+
<a name='L493'></a><a href='#L493'>493</a>
|
|
559
|
+
<a name='L494'></a><a href='#L494'>494</a>
|
|
560
|
+
<a name='L495'></a><a href='#L495'>495</a>
|
|
561
|
+
<a name='L496'></a><a href='#L496'>496</a>
|
|
562
|
+
<a name='L497'></a><a href='#L497'>497</a>
|
|
563
|
+
<a name='L498'></a><a href='#L498'>498</a>
|
|
564
|
+
<a name='L499'></a><a href='#L499'>499</a>
|
|
565
|
+
<a name='L500'></a><a href='#L500'>500</a>
|
|
566
|
+
<a name='L501'></a><a href='#L501'>501</a>
|
|
567
|
+
<a name='L502'></a><a href='#L502'>502</a>
|
|
568
|
+
<a name='L503'></a><a href='#L503'>503</a>
|
|
569
|
+
<a name='L504'></a><a href='#L504'>504</a>
|
|
570
|
+
<a name='L505'></a><a href='#L505'>505</a>
|
|
571
|
+
<a name='L506'></a><a href='#L506'>506</a>
|
|
572
|
+
<a name='L507'></a><a href='#L507'>507</a>
|
|
573
|
+
<a name='L508'></a><a href='#L508'>508</a>
|
|
574
|
+
<a name='L509'></a><a href='#L509'>509</a>
|
|
575
|
+
<a name='L510'></a><a href='#L510'>510</a>
|
|
576
|
+
<a name='L511'></a><a href='#L511'>511</a>
|
|
577
|
+
<a name='L512'></a><a href='#L512'>512</a>
|
|
578
|
+
<a name='L513'></a><a href='#L513'>513</a>
|
|
579
|
+
<a name='L514'></a><a href='#L514'>514</a>
|
|
580
|
+
<a name='L515'></a><a href='#L515'>515</a>
|
|
581
|
+
<a name='L516'></a><a href='#L516'>516</a>
|
|
582
|
+
<a name='L517'></a><a href='#L517'>517</a>
|
|
583
|
+
<a name='L518'></a><a href='#L518'>518</a>
|
|
584
|
+
<a name='L519'></a><a href='#L519'>519</a>
|
|
585
|
+
<a name='L520'></a><a href='#L520'>520</a>
|
|
586
|
+
<a name='L521'></a><a href='#L521'>521</a>
|
|
587
|
+
<a name='L522'></a><a href='#L522'>522</a>
|
|
588
|
+
<a name='L523'></a><a href='#L523'>523</a>
|
|
589
|
+
<a name='L524'></a><a href='#L524'>524</a>
|
|
590
|
+
<a name='L525'></a><a href='#L525'>525</a>
|
|
591
|
+
<a name='L526'></a><a href='#L526'>526</a>
|
|
592
|
+
<a name='L527'></a><a href='#L527'>527</a>
|
|
593
|
+
<a name='L528'></a><a href='#L528'>528</a>
|
|
594
|
+
<a name='L529'></a><a href='#L529'>529</a>
|
|
595
|
+
<a name='L530'></a><a href='#L530'>530</a>
|
|
596
|
+
<a name='L531'></a><a href='#L531'>531</a>
|
|
597
|
+
<a name='L532'></a><a href='#L532'>532</a>
|
|
598
|
+
<a name='L533'></a><a href='#L533'>533</a>
|
|
599
|
+
<a name='L534'></a><a href='#L534'>534</a>
|
|
600
|
+
<a name='L535'></a><a href='#L535'>535</a>
|
|
601
|
+
<a name='L536'></a><a href='#L536'>536</a>
|
|
602
|
+
<a name='L537'></a><a href='#L537'>537</a>
|
|
603
|
+
<a name='L538'></a><a href='#L538'>538</a>
|
|
604
|
+
<a name='L539'></a><a href='#L539'>539</a>
|
|
605
|
+
<a name='L540'></a><a href='#L540'>540</a>
|
|
606
|
+
<a name='L541'></a><a href='#L541'>541</a>
|
|
607
|
+
<a name='L542'></a><a href='#L542'>542</a>
|
|
608
|
+
<a name='L543'></a><a href='#L543'>543</a>
|
|
609
|
+
<a name='L544'></a><a href='#L544'>544</a>
|
|
610
|
+
<a name='L545'></a><a href='#L545'>545</a>
|
|
611
|
+
<a name='L546'></a><a href='#L546'>546</a>
|
|
612
|
+
<a name='L547'></a><a href='#L547'>547</a>
|
|
613
|
+
<a name='L548'></a><a href='#L548'>548</a>
|
|
614
|
+
<a name='L549'></a><a href='#L549'>549</a>
|
|
615
|
+
<a name='L550'></a><a href='#L550'>550</a>
|
|
616
|
+
<a name='L551'></a><a href='#L551'>551</a>
|
|
617
|
+
<a name='L552'></a><a href='#L552'>552</a>
|
|
618
|
+
<a name='L553'></a><a href='#L553'>553</a>
|
|
619
|
+
<a name='L554'></a><a href='#L554'>554</a>
|
|
620
|
+
<a name='L555'></a><a href='#L555'>555</a>
|
|
621
|
+
<a name='L556'></a><a href='#L556'>556</a>
|
|
622
|
+
<a name='L557'></a><a href='#L557'>557</a>
|
|
623
|
+
<a name='L558'></a><a href='#L558'>558</a>
|
|
624
|
+
<a name='L559'></a><a href='#L559'>559</a>
|
|
625
|
+
<a name='L560'></a><a href='#L560'>560</a>
|
|
626
|
+
<a name='L561'></a><a href='#L561'>561</a>
|
|
627
|
+
<a name='L562'></a><a href='#L562'>562</a>
|
|
628
|
+
<a name='L563'></a><a href='#L563'>563</a>
|
|
629
|
+
<a name='L564'></a><a href='#L564'>564</a>
|
|
630
|
+
<a name='L565'></a><a href='#L565'>565</a>
|
|
631
|
+
<a name='L566'></a><a href='#L566'>566</a>
|
|
632
|
+
<a name='L567'></a><a href='#L567'>567</a>
|
|
633
|
+
<a name='L568'></a><a href='#L568'>568</a>
|
|
634
|
+
<a name='L569'></a><a href='#L569'>569</a>
|
|
635
|
+
<a name='L570'></a><a href='#L570'>570</a>
|
|
636
|
+
<a name='L571'></a><a href='#L571'>571</a>
|
|
637
|
+
<a name='L572'></a><a href='#L572'>572</a>
|
|
638
|
+
<a name='L573'></a><a href='#L573'>573</a>
|
|
639
|
+
<a name='L574'></a><a href='#L574'>574</a>
|
|
640
|
+
<a name='L575'></a><a href='#L575'>575</a>
|
|
641
|
+
<a name='L576'></a><a href='#L576'>576</a>
|
|
642
|
+
<a name='L577'></a><a href='#L577'>577</a>
|
|
643
|
+
<a name='L578'></a><a href='#L578'>578</a>
|
|
644
|
+
<a name='L579'></a><a href='#L579'>579</a>
|
|
645
|
+
<a name='L580'></a><a href='#L580'>580</a>
|
|
646
|
+
<a name='L581'></a><a href='#L581'>581</a>
|
|
647
|
+
<a name='L582'></a><a href='#L582'>582</a>
|
|
648
|
+
<a name='L583'></a><a href='#L583'>583</a>
|
|
649
|
+
<a name='L584'></a><a href='#L584'>584</a>
|
|
650
|
+
<a name='L585'></a><a href='#L585'>585</a>
|
|
651
|
+
<a name='L586'></a><a href='#L586'>586</a>
|
|
652
|
+
<a name='L587'></a><a href='#L587'>587</a>
|
|
653
|
+
<a name='L588'></a><a href='#L588'>588</a>
|
|
654
|
+
<a name='L589'></a><a href='#L589'>589</a>
|
|
655
|
+
<a name='L590'></a><a href='#L590'>590</a>
|
|
656
|
+
<a name='L591'></a><a href='#L591'>591</a>
|
|
657
|
+
<a name='L592'></a><a href='#L592'>592</a>
|
|
658
|
+
<a name='L593'></a><a href='#L593'>593</a>
|
|
659
|
+
<a name='L594'></a><a href='#L594'>594</a>
|
|
660
|
+
<a name='L595'></a><a href='#L595'>595</a>
|
|
661
|
+
<a name='L596'></a><a href='#L596'>596</a>
|
|
662
|
+
<a name='L597'></a><a href='#L597'>597</a>
|
|
663
|
+
<a name='L598'></a><a href='#L598'>598</a>
|
|
664
|
+
<a name='L599'></a><a href='#L599'>599</a>
|
|
665
|
+
<a name='L600'></a><a href='#L600'>600</a>
|
|
666
|
+
<a name='L601'></a><a href='#L601'>601</a>
|
|
667
|
+
<a name='L602'></a><a href='#L602'>602</a>
|
|
668
|
+
<a name='L603'></a><a href='#L603'>603</a>
|
|
669
|
+
<a name='L604'></a><a href='#L604'>604</a>
|
|
670
|
+
<a name='L605'></a><a href='#L605'>605</a>
|
|
671
|
+
<a name='L606'></a><a href='#L606'>606</a>
|
|
672
|
+
<a name='L607'></a><a href='#L607'>607</a>
|
|
673
|
+
<a name='L608'></a><a href='#L608'>608</a>
|
|
674
|
+
<a name='L609'></a><a href='#L609'>609</a>
|
|
675
|
+
<a name='L610'></a><a href='#L610'>610</a>
|
|
676
|
+
<a name='L611'></a><a href='#L611'>611</a>
|
|
677
|
+
<a name='L612'></a><a href='#L612'>612</a>
|
|
678
|
+
<a name='L613'></a><a href='#L613'>613</a>
|
|
679
|
+
<a name='L614'></a><a href='#L614'>614</a>
|
|
680
|
+
<a name='L615'></a><a href='#L615'>615</a>
|
|
681
|
+
<a name='L616'></a><a href='#L616'>616</a>
|
|
682
|
+
<a name='L617'></a><a href='#L617'>617</a>
|
|
683
|
+
<a name='L618'></a><a href='#L618'>618</a>
|
|
684
|
+
<a name='L619'></a><a href='#L619'>619</a>
|
|
685
|
+
<a name='L620'></a><a href='#L620'>620</a>
|
|
686
|
+
<a name='L621'></a><a href='#L621'>621</a>
|
|
687
|
+
<a name='L622'></a><a href='#L622'>622</a>
|
|
688
|
+
<a name='L623'></a><a href='#L623'>623</a>
|
|
689
|
+
<a name='L624'></a><a href='#L624'>624</a>
|
|
690
|
+
<a name='L625'></a><a href='#L625'>625</a>
|
|
691
|
+
<a name='L626'></a><a href='#L626'>626</a>
|
|
692
|
+
<a name='L627'></a><a href='#L627'>627</a>
|
|
693
|
+
<a name='L628'></a><a href='#L628'>628</a>
|
|
694
|
+
<a name='L629'></a><a href='#L629'>629</a>
|
|
695
|
+
<a name='L630'></a><a href='#L630'>630</a>
|
|
696
|
+
<a name='L631'></a><a href='#L631'>631</a>
|
|
697
|
+
<a name='L632'></a><a href='#L632'>632</a>
|
|
698
|
+
<a name='L633'></a><a href='#L633'>633</a>
|
|
699
|
+
<a name='L634'></a><a href='#L634'>634</a>
|
|
700
|
+
<a name='L635'></a><a href='#L635'>635</a>
|
|
701
|
+
<a name='L636'></a><a href='#L636'>636</a>
|
|
702
|
+
<a name='L637'></a><a href='#L637'>637</a>
|
|
703
|
+
<a name='L638'></a><a href='#L638'>638</a>
|
|
704
|
+
<a name='L639'></a><a href='#L639'>639</a>
|
|
705
|
+
<a name='L640'></a><a href='#L640'>640</a>
|
|
706
|
+
<a name='L641'></a><a href='#L641'>641</a>
|
|
707
|
+
<a name='L642'></a><a href='#L642'>642</a>
|
|
708
|
+
<a name='L643'></a><a href='#L643'>643</a>
|
|
709
|
+
<a name='L644'></a><a href='#L644'>644</a>
|
|
710
|
+
<a name='L645'></a><a href='#L645'>645</a>
|
|
711
|
+
<a name='L646'></a><a href='#L646'>646</a>
|
|
712
|
+
<a name='L647'></a><a href='#L647'>647</a>
|
|
713
|
+
<a name='L648'></a><a href='#L648'>648</a>
|
|
714
|
+
<a name='L649'></a><a href='#L649'>649</a>
|
|
715
|
+
<a name='L650'></a><a href='#L650'>650</a>
|
|
716
|
+
<a name='L651'></a><a href='#L651'>651</a>
|
|
717
|
+
<a name='L652'></a><a href='#L652'>652</a>
|
|
718
|
+
<a name='L653'></a><a href='#L653'>653</a>
|
|
719
|
+
<a name='L654'></a><a href='#L654'>654</a>
|
|
720
|
+
<a name='L655'></a><a href='#L655'>655</a>
|
|
721
|
+
<a name='L656'></a><a href='#L656'>656</a>
|
|
722
|
+
<a name='L657'></a><a href='#L657'>657</a>
|
|
723
|
+
<a name='L658'></a><a href='#L658'>658</a>
|
|
724
|
+
<a name='L659'></a><a href='#L659'>659</a>
|
|
725
|
+
<a name='L660'></a><a href='#L660'>660</a>
|
|
726
|
+
<a name='L661'></a><a href='#L661'>661</a>
|
|
727
|
+
<a name='L662'></a><a href='#L662'>662</a>
|
|
728
|
+
<a name='L663'></a><a href='#L663'>663</a>
|
|
729
|
+
<a name='L664'></a><a href='#L664'>664</a>
|
|
730
|
+
<a name='L665'></a><a href='#L665'>665</a>
|
|
731
|
+
<a name='L666'></a><a href='#L666'>666</a>
|
|
732
|
+
<a name='L667'></a><a href='#L667'>667</a>
|
|
733
|
+
<a name='L668'></a><a href='#L668'>668</a>
|
|
734
|
+
<a name='L669'></a><a href='#L669'>669</a>
|
|
735
|
+
<a name='L670'></a><a href='#L670'>670</a>
|
|
736
|
+
<a name='L671'></a><a href='#L671'>671</a>
|
|
737
|
+
<a name='L672'></a><a href='#L672'>672</a>
|
|
738
|
+
<a name='L673'></a><a href='#L673'>673</a>
|
|
739
|
+
<a name='L674'></a><a href='#L674'>674</a>
|
|
740
|
+
<a name='L675'></a><a href='#L675'>675</a>
|
|
741
|
+
<a name='L676'></a><a href='#L676'>676</a>
|
|
742
|
+
<a name='L677'></a><a href='#L677'>677</a>
|
|
743
|
+
<a name='L678'></a><a href='#L678'>678</a>
|
|
744
|
+
<a name='L679'></a><a href='#L679'>679</a>
|
|
745
|
+
<a name='L680'></a><a href='#L680'>680</a>
|
|
746
|
+
<a name='L681'></a><a href='#L681'>681</a>
|
|
747
|
+
<a name='L682'></a><a href='#L682'>682</a>
|
|
748
|
+
<a name='L683'></a><a href='#L683'>683</a>
|
|
749
|
+
<a name='L684'></a><a href='#L684'>684</a>
|
|
750
|
+
<a name='L685'></a><a href='#L685'>685</a>
|
|
751
|
+
<a name='L686'></a><a href='#L686'>686</a>
|
|
752
|
+
<a name='L687'></a><a href='#L687'>687</a>
|
|
753
|
+
<a name='L688'></a><a href='#L688'>688</a>
|
|
754
|
+
<a name='L689'></a><a href='#L689'>689</a>
|
|
755
|
+
<a name='L690'></a><a href='#L690'>690</a>
|
|
756
|
+
<a name='L691'></a><a href='#L691'>691</a>
|
|
757
|
+
<a name='L692'></a><a href='#L692'>692</a>
|
|
758
|
+
<a name='L693'></a><a href='#L693'>693</a>
|
|
759
|
+
<a name='L694'></a><a href='#L694'>694</a>
|
|
760
|
+
<a name='L695'></a><a href='#L695'>695</a>
|
|
761
|
+
<a name='L696'></a><a href='#L696'>696</a>
|
|
762
|
+
<a name='L697'></a><a href='#L697'>697</a>
|
|
763
|
+
<a name='L698'></a><a href='#L698'>698</a>
|
|
764
|
+
<a name='L699'></a><a href='#L699'>699</a>
|
|
765
|
+
<a name='L700'></a><a href='#L700'>700</a>
|
|
766
|
+
<a name='L701'></a><a href='#L701'>701</a>
|
|
767
|
+
<a name='L702'></a><a href='#L702'>702</a>
|
|
768
|
+
<a name='L703'></a><a href='#L703'>703</a>
|
|
769
|
+
<a name='L704'></a><a href='#L704'>704</a>
|
|
770
|
+
<a name='L705'></a><a href='#L705'>705</a>
|
|
771
|
+
<a name='L706'></a><a href='#L706'>706</a>
|
|
772
|
+
<a name='L707'></a><a href='#L707'>707</a>
|
|
773
|
+
<a name='L708'></a><a href='#L708'>708</a>
|
|
774
|
+
<a name='L709'></a><a href='#L709'>709</a>
|
|
775
|
+
<a name='L710'></a><a href='#L710'>710</a>
|
|
776
|
+
<a name='L711'></a><a href='#L711'>711</a>
|
|
777
|
+
<a name='L712'></a><a href='#L712'>712</a>
|
|
778
|
+
<a name='L713'></a><a href='#L713'>713</a>
|
|
779
|
+
<a name='L714'></a><a href='#L714'>714</a>
|
|
780
|
+
<a name='L715'></a><a href='#L715'>715</a>
|
|
781
|
+
<a name='L716'></a><a href='#L716'>716</a>
|
|
782
|
+
<a name='L717'></a><a href='#L717'>717</a>
|
|
783
|
+
<a name='L718'></a><a href='#L718'>718</a>
|
|
784
|
+
<a name='L719'></a><a href='#L719'>719</a>
|
|
785
|
+
<a name='L720'></a><a href='#L720'>720</a>
|
|
786
|
+
<a name='L721'></a><a href='#L721'>721</a>
|
|
787
|
+
<a name='L722'></a><a href='#L722'>722</a>
|
|
788
|
+
<a name='L723'></a><a href='#L723'>723</a>
|
|
789
|
+
<a name='L724'></a><a href='#L724'>724</a>
|
|
790
|
+
<a name='L725'></a><a href='#L725'>725</a>
|
|
791
|
+
<a name='L726'></a><a href='#L726'>726</a>
|
|
792
|
+
<a name='L727'></a><a href='#L727'>727</a>
|
|
793
|
+
<a name='L728'></a><a href='#L728'>728</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
|
794
|
+
<span class="cline-any cline-no"> </span>
|
|
795
|
+
<span class="cline-any cline-no"> </span>
|
|
796
|
+
<span class="cline-any cline-no"> </span>
|
|
797
|
+
<span class="cline-any cline-no"> </span>
|
|
798
|
+
<span class="cline-any cline-no"> </span>
|
|
799
|
+
<span class="cline-any cline-no"> </span>
|
|
800
|
+
<span class="cline-any cline-no"> </span>
|
|
801
|
+
<span class="cline-any cline-no"> </span>
|
|
802
|
+
<span class="cline-any cline-no"> </span>
|
|
803
|
+
<span class="cline-any cline-no"> </span>
|
|
804
|
+
<span class="cline-any cline-no"> </span>
|
|
805
|
+
<span class="cline-any cline-no"> </span>
|
|
806
|
+
<span class="cline-any cline-no"> </span>
|
|
807
|
+
<span class="cline-any cline-no"> </span>
|
|
808
|
+
<span class="cline-any cline-no"> </span>
|
|
809
|
+
<span class="cline-any cline-no"> </span>
|
|
810
|
+
<span class="cline-any cline-no"> </span>
|
|
811
|
+
<span class="cline-any cline-no"> </span>
|
|
812
|
+
<span class="cline-any cline-no"> </span>
|
|
813
|
+
<span class="cline-any cline-no"> </span>
|
|
814
|
+
<span class="cline-any cline-no"> </span>
|
|
815
|
+
<span class="cline-any cline-no"> </span>
|
|
816
|
+
<span class="cline-any cline-no"> </span>
|
|
817
|
+
<span class="cline-any cline-no"> </span>
|
|
818
|
+
<span class="cline-any cline-no"> </span>
|
|
819
|
+
<span class="cline-any cline-no"> </span>
|
|
820
|
+
<span class="cline-any cline-no"> </span>
|
|
821
|
+
<span class="cline-any cline-no"> </span>
|
|
822
|
+
<span class="cline-any cline-no"> </span>
|
|
823
|
+
<span class="cline-any cline-no"> </span>
|
|
824
|
+
<span class="cline-any cline-no"> </span>
|
|
825
|
+
<span class="cline-any cline-no"> </span>
|
|
826
|
+
<span class="cline-any cline-no"> </span>
|
|
827
|
+
<span class="cline-any cline-no"> </span>
|
|
828
|
+
<span class="cline-any cline-no"> </span>
|
|
829
|
+
<span class="cline-any cline-no"> </span>
|
|
830
|
+
<span class="cline-any cline-no"> </span>
|
|
831
|
+
<span class="cline-any cline-no"> </span>
|
|
832
|
+
<span class="cline-any cline-no"> </span>
|
|
833
|
+
<span class="cline-any cline-no"> </span>
|
|
834
|
+
<span class="cline-any cline-no"> </span>
|
|
835
|
+
<span class="cline-any cline-no"> </span>
|
|
836
|
+
<span class="cline-any cline-no"> </span>
|
|
837
|
+
<span class="cline-any cline-no"> </span>
|
|
838
|
+
<span class="cline-any cline-no"> </span>
|
|
839
|
+
<span class="cline-any cline-no"> </span>
|
|
840
|
+
<span class="cline-any cline-no"> </span>
|
|
841
|
+
<span class="cline-any cline-no"> </span>
|
|
842
|
+
<span class="cline-any cline-no"> </span>
|
|
843
|
+
<span class="cline-any cline-no"> </span>
|
|
844
|
+
<span class="cline-any cline-no"> </span>
|
|
845
|
+
<span class="cline-any cline-no"> </span>
|
|
846
|
+
<span class="cline-any cline-no"> </span>
|
|
847
|
+
<span class="cline-any cline-no"> </span>
|
|
848
|
+
<span class="cline-any cline-no"> </span>
|
|
849
|
+
<span class="cline-any cline-no"> </span>
|
|
850
|
+
<span class="cline-any cline-no"> </span>
|
|
851
|
+
<span class="cline-any cline-no"> </span>
|
|
852
|
+
<span class="cline-any cline-no"> </span>
|
|
853
|
+
<span class="cline-any cline-no"> </span>
|
|
854
|
+
<span class="cline-any cline-no"> </span>
|
|
855
|
+
<span class="cline-any cline-no"> </span>
|
|
856
|
+
<span class="cline-any cline-no"> </span>
|
|
857
|
+
<span class="cline-any cline-no"> </span>
|
|
858
|
+
<span class="cline-any cline-no"> </span>
|
|
859
|
+
<span class="cline-any cline-no"> </span>
|
|
860
|
+
<span class="cline-any cline-no"> </span>
|
|
861
|
+
<span class="cline-any cline-no"> </span>
|
|
862
|
+
<span class="cline-any cline-no"> </span>
|
|
863
|
+
<span class="cline-any cline-no"> </span>
|
|
864
|
+
<span class="cline-any cline-no"> </span>
|
|
865
|
+
<span class="cline-any cline-no"> </span>
|
|
866
|
+
<span class="cline-any cline-no"> </span>
|
|
867
|
+
<span class="cline-any cline-no"> </span>
|
|
868
|
+
<span class="cline-any cline-no"> </span>
|
|
869
|
+
<span class="cline-any cline-no"> </span>
|
|
870
|
+
<span class="cline-any cline-no"> </span>
|
|
871
|
+
<span class="cline-any cline-no"> </span>
|
|
872
|
+
<span class="cline-any cline-no"> </span>
|
|
873
|
+
<span class="cline-any cline-no"> </span>
|
|
874
|
+
<span class="cline-any cline-no"> </span>
|
|
875
|
+
<span class="cline-any cline-no"> </span>
|
|
876
|
+
<span class="cline-any cline-no"> </span>
|
|
877
|
+
<span class="cline-any cline-no"> </span>
|
|
878
|
+
<span class="cline-any cline-no"> </span>
|
|
879
|
+
<span class="cline-any cline-no"> </span>
|
|
880
|
+
<span class="cline-any cline-no"> </span>
|
|
881
|
+
<span class="cline-any cline-no"> </span>
|
|
882
|
+
<span class="cline-any cline-no"> </span>
|
|
883
|
+
<span class="cline-any cline-no"> </span>
|
|
884
|
+
<span class="cline-any cline-no"> </span>
|
|
885
|
+
<span class="cline-any cline-no"> </span>
|
|
886
|
+
<span class="cline-any cline-no"> </span>
|
|
887
|
+
<span class="cline-any cline-no"> </span>
|
|
888
|
+
<span class="cline-any cline-no"> </span>
|
|
889
|
+
<span class="cline-any cline-no"> </span>
|
|
890
|
+
<span class="cline-any cline-no"> </span>
|
|
891
|
+
<span class="cline-any cline-no"> </span>
|
|
892
|
+
<span class="cline-any cline-no"> </span>
|
|
893
|
+
<span class="cline-any cline-no"> </span>
|
|
894
|
+
<span class="cline-any cline-no"> </span>
|
|
895
|
+
<span class="cline-any cline-no"> </span>
|
|
896
|
+
<span class="cline-any cline-no"> </span>
|
|
897
|
+
<span class="cline-any cline-no"> </span>
|
|
898
|
+
<span class="cline-any cline-no"> </span>
|
|
899
|
+
<span class="cline-any cline-no"> </span>
|
|
900
|
+
<span class="cline-any cline-no"> </span>
|
|
901
|
+
<span class="cline-any cline-no"> </span>
|
|
902
|
+
<span class="cline-any cline-no"> </span>
|
|
903
|
+
<span class="cline-any cline-no"> </span>
|
|
904
|
+
<span class="cline-any cline-no"> </span>
|
|
905
|
+
<span class="cline-any cline-no"> </span>
|
|
906
|
+
<span class="cline-any cline-no"> </span>
|
|
907
|
+
<span class="cline-any cline-no"> </span>
|
|
908
|
+
<span class="cline-any cline-no"> </span>
|
|
909
|
+
<span class="cline-any cline-no"> </span>
|
|
910
|
+
<span class="cline-any cline-no"> </span>
|
|
911
|
+
<span class="cline-any cline-no"> </span>
|
|
912
|
+
<span class="cline-any cline-no"> </span>
|
|
913
|
+
<span class="cline-any cline-no"> </span>
|
|
914
|
+
<span class="cline-any cline-no"> </span>
|
|
915
|
+
<span class="cline-any cline-no"> </span>
|
|
916
|
+
<span class="cline-any cline-no"> </span>
|
|
917
|
+
<span class="cline-any cline-no"> </span>
|
|
918
|
+
<span class="cline-any cline-no"> </span>
|
|
919
|
+
<span class="cline-any cline-no"> </span>
|
|
920
|
+
<span class="cline-any cline-no"> </span>
|
|
921
|
+
<span class="cline-any cline-no"> </span>
|
|
922
|
+
<span class="cline-any cline-no"> </span>
|
|
923
|
+
<span class="cline-any cline-no"> </span>
|
|
924
|
+
<span class="cline-any cline-no"> </span>
|
|
925
|
+
<span class="cline-any cline-no"> </span>
|
|
926
|
+
<span class="cline-any cline-no"> </span>
|
|
927
|
+
<span class="cline-any cline-no"> </span>
|
|
928
|
+
<span class="cline-any cline-no"> </span>
|
|
929
|
+
<span class="cline-any cline-no"> </span>
|
|
930
|
+
<span class="cline-any cline-no"> </span>
|
|
931
|
+
<span class="cline-any cline-no"> </span>
|
|
932
|
+
<span class="cline-any cline-no"> </span>
|
|
933
|
+
<span class="cline-any cline-no"> </span>
|
|
934
|
+
<span class="cline-any cline-no"> </span>
|
|
935
|
+
<span class="cline-any cline-no"> </span>
|
|
936
|
+
<span class="cline-any cline-no"> </span>
|
|
937
|
+
<span class="cline-any cline-no"> </span>
|
|
938
|
+
<span class="cline-any cline-no"> </span>
|
|
939
|
+
<span class="cline-any cline-no"> </span>
|
|
940
|
+
<span class="cline-any cline-no"> </span>
|
|
941
|
+
<span class="cline-any cline-no"> </span>
|
|
942
|
+
<span class="cline-any cline-no"> </span>
|
|
943
|
+
<span class="cline-any cline-no"> </span>
|
|
944
|
+
<span class="cline-any cline-no"> </span>
|
|
945
|
+
<span class="cline-any cline-no"> </span>
|
|
946
|
+
<span class="cline-any cline-no"> </span>
|
|
947
|
+
<span class="cline-any cline-no"> </span>
|
|
948
|
+
<span class="cline-any cline-no"> </span>
|
|
949
|
+
<span class="cline-any cline-no"> </span>
|
|
950
|
+
<span class="cline-any cline-no"> </span>
|
|
951
|
+
<span class="cline-any cline-no"> </span>
|
|
952
|
+
<span class="cline-any cline-no"> </span>
|
|
953
|
+
<span class="cline-any cline-no"> </span>
|
|
954
|
+
<span class="cline-any cline-no"> </span>
|
|
955
|
+
<span class="cline-any cline-no"> </span>
|
|
956
|
+
<span class="cline-any cline-no"> </span>
|
|
957
|
+
<span class="cline-any cline-no"> </span>
|
|
958
|
+
<span class="cline-any cline-no"> </span>
|
|
959
|
+
<span class="cline-any cline-no"> </span>
|
|
960
|
+
<span class="cline-any cline-no"> </span>
|
|
961
|
+
<span class="cline-any cline-no"> </span>
|
|
962
|
+
<span class="cline-any cline-no"> </span>
|
|
963
|
+
<span class="cline-any cline-no"> </span>
|
|
964
|
+
<span class="cline-any cline-no"> </span>
|
|
965
|
+
<span class="cline-any cline-no"> </span>
|
|
966
|
+
<span class="cline-any cline-no"> </span>
|
|
967
|
+
<span class="cline-any cline-no"> </span>
|
|
968
|
+
<span class="cline-any cline-no"> </span>
|
|
969
|
+
<span class="cline-any cline-no"> </span>
|
|
970
|
+
<span class="cline-any cline-no"> </span>
|
|
971
|
+
<span class="cline-any cline-no"> </span>
|
|
972
|
+
<span class="cline-any cline-no"> </span>
|
|
973
|
+
<span class="cline-any cline-no"> </span>
|
|
974
|
+
<span class="cline-any cline-no"> </span>
|
|
975
|
+
<span class="cline-any cline-no"> </span>
|
|
976
|
+
<span class="cline-any cline-no"> </span>
|
|
977
|
+
<span class="cline-any cline-no"> </span>
|
|
978
|
+
<span class="cline-any cline-no"> </span>
|
|
979
|
+
<span class="cline-any cline-no"> </span>
|
|
980
|
+
<span class="cline-any cline-no"> </span>
|
|
981
|
+
<span class="cline-any cline-no"> </span>
|
|
982
|
+
<span class="cline-any cline-no"> </span>
|
|
983
|
+
<span class="cline-any cline-no"> </span>
|
|
984
|
+
<span class="cline-any cline-no"> </span>
|
|
985
|
+
<span class="cline-any cline-no"> </span>
|
|
986
|
+
<span class="cline-any cline-no"> </span>
|
|
987
|
+
<span class="cline-any cline-no"> </span>
|
|
988
|
+
<span class="cline-any cline-no"> </span>
|
|
989
|
+
<span class="cline-any cline-no"> </span>
|
|
990
|
+
<span class="cline-any cline-no"> </span>
|
|
991
|
+
<span class="cline-any cline-no"> </span>
|
|
992
|
+
<span class="cline-any cline-no"> </span>
|
|
993
|
+
<span class="cline-any cline-no"> </span>
|
|
994
|
+
<span class="cline-any cline-no"> </span>
|
|
995
|
+
<span class="cline-any cline-no"> </span>
|
|
996
|
+
<span class="cline-any cline-no"> </span>
|
|
997
|
+
<span class="cline-any cline-no"> </span>
|
|
998
|
+
<span class="cline-any cline-no"> </span>
|
|
999
|
+
<span class="cline-any cline-no"> </span>
|
|
1000
|
+
<span class="cline-any cline-no"> </span>
|
|
1001
|
+
<span class="cline-any cline-no"> </span>
|
|
1002
|
+
<span class="cline-any cline-no"> </span>
|
|
1003
|
+
<span class="cline-any cline-no"> </span>
|
|
1004
|
+
<span class="cline-any cline-no"> </span>
|
|
1005
|
+
<span class="cline-any cline-no"> </span>
|
|
1006
|
+
<span class="cline-any cline-no"> </span>
|
|
1007
|
+
<span class="cline-any cline-no"> </span>
|
|
1008
|
+
<span class="cline-any cline-no"> </span>
|
|
1009
|
+
<span class="cline-any cline-no"> </span>
|
|
1010
|
+
<span class="cline-any cline-no"> </span>
|
|
1011
|
+
<span class="cline-any cline-no"> </span>
|
|
1012
|
+
<span class="cline-any cline-no"> </span>
|
|
1013
|
+
<span class="cline-any cline-no"> </span>
|
|
1014
|
+
<span class="cline-any cline-no"> </span>
|
|
1015
|
+
<span class="cline-any cline-no"> </span>
|
|
1016
|
+
<span class="cline-any cline-no"> </span>
|
|
1017
|
+
<span class="cline-any cline-no"> </span>
|
|
1018
|
+
<span class="cline-any cline-no"> </span>
|
|
1019
|
+
<span class="cline-any cline-no"> </span>
|
|
1020
|
+
<span class="cline-any cline-no"> </span>
|
|
1021
|
+
<span class="cline-any cline-no"> </span>
|
|
1022
|
+
<span class="cline-any cline-no"> </span>
|
|
1023
|
+
<span class="cline-any cline-no"> </span>
|
|
1024
|
+
<span class="cline-any cline-no"> </span>
|
|
1025
|
+
<span class="cline-any cline-no"> </span>
|
|
1026
|
+
<span class="cline-any cline-no"> </span>
|
|
1027
|
+
<span class="cline-any cline-no"> </span>
|
|
1028
|
+
<span class="cline-any cline-no"> </span>
|
|
1029
|
+
<span class="cline-any cline-no"> </span>
|
|
1030
|
+
<span class="cline-any cline-no"> </span>
|
|
1031
|
+
<span class="cline-any cline-no"> </span>
|
|
1032
|
+
<span class="cline-any cline-no"> </span>
|
|
1033
|
+
<span class="cline-any cline-no"> </span>
|
|
1034
|
+
<span class="cline-any cline-no"> </span>
|
|
1035
|
+
<span class="cline-any cline-no"> </span>
|
|
1036
|
+
<span class="cline-any cline-no"> </span>
|
|
1037
|
+
<span class="cline-any cline-no"> </span>
|
|
1038
|
+
<span class="cline-any cline-no"> </span>
|
|
1039
|
+
<span class="cline-any cline-no"> </span>
|
|
1040
|
+
<span class="cline-any cline-no"> </span>
|
|
1041
|
+
<span class="cline-any cline-no"> </span>
|
|
1042
|
+
<span class="cline-any cline-no"> </span>
|
|
1043
|
+
<span class="cline-any cline-no"> </span>
|
|
1044
|
+
<span class="cline-any cline-no"> </span>
|
|
1045
|
+
<span class="cline-any cline-no"> </span>
|
|
1046
|
+
<span class="cline-any cline-no"> </span>
|
|
1047
|
+
<span class="cline-any cline-no"> </span>
|
|
1048
|
+
<span class="cline-any cline-no"> </span>
|
|
1049
|
+
<span class="cline-any cline-no"> </span>
|
|
1050
|
+
<span class="cline-any cline-no"> </span>
|
|
1051
|
+
<span class="cline-any cline-no"> </span>
|
|
1052
|
+
<span class="cline-any cline-no"> </span>
|
|
1053
|
+
<span class="cline-any cline-no"> </span>
|
|
1054
|
+
<span class="cline-any cline-no"> </span>
|
|
1055
|
+
<span class="cline-any cline-no"> </span>
|
|
1056
|
+
<span class="cline-any cline-no"> </span>
|
|
1057
|
+
<span class="cline-any cline-no"> </span>
|
|
1058
|
+
<span class="cline-any cline-no"> </span>
|
|
1059
|
+
<span class="cline-any cline-no"> </span>
|
|
1060
|
+
<span class="cline-any cline-no"> </span>
|
|
1061
|
+
<span class="cline-any cline-no"> </span>
|
|
1062
|
+
<span class="cline-any cline-no"> </span>
|
|
1063
|
+
<span class="cline-any cline-no"> </span>
|
|
1064
|
+
<span class="cline-any cline-no"> </span>
|
|
1065
|
+
<span class="cline-any cline-no"> </span>
|
|
1066
|
+
<span class="cline-any cline-no"> </span>
|
|
1067
|
+
<span class="cline-any cline-no"> </span>
|
|
1068
|
+
<span class="cline-any cline-no"> </span>
|
|
1069
|
+
<span class="cline-any cline-no"> </span>
|
|
1070
|
+
<span class="cline-any cline-no"> </span>
|
|
1071
|
+
<span class="cline-any cline-no"> </span>
|
|
1072
|
+
<span class="cline-any cline-no"> </span>
|
|
1073
|
+
<span class="cline-any cline-no"> </span>
|
|
1074
|
+
<span class="cline-any cline-no"> </span>
|
|
1075
|
+
<span class="cline-any cline-no"> </span>
|
|
1076
|
+
<span class="cline-any cline-no"> </span>
|
|
1077
|
+
<span class="cline-any cline-no"> </span>
|
|
1078
|
+
<span class="cline-any cline-no"> </span>
|
|
1079
|
+
<span class="cline-any cline-no"> </span>
|
|
1080
|
+
<span class="cline-any cline-no"> </span>
|
|
1081
|
+
<span class="cline-any cline-no"> </span>
|
|
1082
|
+
<span class="cline-any cline-no"> </span>
|
|
1083
|
+
<span class="cline-any cline-no"> </span>
|
|
1084
|
+
<span class="cline-any cline-no"> </span>
|
|
1085
|
+
<span class="cline-any cline-no"> </span>
|
|
1086
|
+
<span class="cline-any cline-no"> </span>
|
|
1087
|
+
<span class="cline-any cline-no"> </span>
|
|
1088
|
+
<span class="cline-any cline-no"> </span>
|
|
1089
|
+
<span class="cline-any cline-no"> </span>
|
|
1090
|
+
<span class="cline-any cline-no"> </span>
|
|
1091
|
+
<span class="cline-any cline-no"> </span>
|
|
1092
|
+
<span class="cline-any cline-no"> </span>
|
|
1093
|
+
<span class="cline-any cline-no"> </span>
|
|
1094
|
+
<span class="cline-any cline-no"> </span>
|
|
1095
|
+
<span class="cline-any cline-no"> </span>
|
|
1096
|
+
<span class="cline-any cline-no"> </span>
|
|
1097
|
+
<span class="cline-any cline-no"> </span>
|
|
1098
|
+
<span class="cline-any cline-no"> </span>
|
|
1099
|
+
<span class="cline-any cline-no"> </span>
|
|
1100
|
+
<span class="cline-any cline-no"> </span>
|
|
1101
|
+
<span class="cline-any cline-no"> </span>
|
|
1102
|
+
<span class="cline-any cline-no"> </span>
|
|
1103
|
+
<span class="cline-any cline-no"> </span>
|
|
1104
|
+
<span class="cline-any cline-no"> </span>
|
|
1105
|
+
<span class="cline-any cline-no"> </span>
|
|
1106
|
+
<span class="cline-any cline-no"> </span>
|
|
1107
|
+
<span class="cline-any cline-no"> </span>
|
|
1108
|
+
<span class="cline-any cline-no"> </span>
|
|
1109
|
+
<span class="cline-any cline-no"> </span>
|
|
1110
|
+
<span class="cline-any cline-no"> </span>
|
|
1111
|
+
<span class="cline-any cline-no"> </span>
|
|
1112
|
+
<span class="cline-any cline-no"> </span>
|
|
1113
|
+
<span class="cline-any cline-no"> </span>
|
|
1114
|
+
<span class="cline-any cline-no"> </span>
|
|
1115
|
+
<span class="cline-any cline-no"> </span>
|
|
1116
|
+
<span class="cline-any cline-no"> </span>
|
|
1117
|
+
<span class="cline-any cline-no"> </span>
|
|
1118
|
+
<span class="cline-any cline-no"> </span>
|
|
1119
|
+
<span class="cline-any cline-no"> </span>
|
|
1120
|
+
<span class="cline-any cline-no"> </span>
|
|
1121
|
+
<span class="cline-any cline-no"> </span>
|
|
1122
|
+
<span class="cline-any cline-no"> </span>
|
|
1123
|
+
<span class="cline-any cline-no"> </span>
|
|
1124
|
+
<span class="cline-any cline-no"> </span>
|
|
1125
|
+
<span class="cline-any cline-no"> </span>
|
|
1126
|
+
<span class="cline-any cline-no"> </span>
|
|
1127
|
+
<span class="cline-any cline-no"> </span>
|
|
1128
|
+
<span class="cline-any cline-no"> </span>
|
|
1129
|
+
<span class="cline-any cline-no"> </span>
|
|
1130
|
+
<span class="cline-any cline-no"> </span>
|
|
1131
|
+
<span class="cline-any cline-no"> </span>
|
|
1132
|
+
<span class="cline-any cline-no"> </span>
|
|
1133
|
+
<span class="cline-any cline-no"> </span>
|
|
1134
|
+
<span class="cline-any cline-no"> </span>
|
|
1135
|
+
<span class="cline-any cline-no"> </span>
|
|
1136
|
+
<span class="cline-any cline-no"> </span>
|
|
1137
|
+
<span class="cline-any cline-no"> </span>
|
|
1138
|
+
<span class="cline-any cline-no"> </span>
|
|
1139
|
+
<span class="cline-any cline-no"> </span>
|
|
1140
|
+
<span class="cline-any cline-no"> </span>
|
|
1141
|
+
<span class="cline-any cline-no"> </span>
|
|
1142
|
+
<span class="cline-any cline-no"> </span>
|
|
1143
|
+
<span class="cline-any cline-no"> </span>
|
|
1144
|
+
<span class="cline-any cline-no"> </span>
|
|
1145
|
+
<span class="cline-any cline-no"> </span>
|
|
1146
|
+
<span class="cline-any cline-no"> </span>
|
|
1147
|
+
<span class="cline-any cline-no"> </span>
|
|
1148
|
+
<span class="cline-any cline-no"> </span>
|
|
1149
|
+
<span class="cline-any cline-no"> </span>
|
|
1150
|
+
<span class="cline-any cline-no"> </span>
|
|
1151
|
+
<span class="cline-any cline-no"> </span>
|
|
1152
|
+
<span class="cline-any cline-no"> </span>
|
|
1153
|
+
<span class="cline-any cline-no"> </span>
|
|
1154
|
+
<span class="cline-any cline-no"> </span>
|
|
1155
|
+
<span class="cline-any cline-no"> </span>
|
|
1156
|
+
<span class="cline-any cline-no"> </span>
|
|
1157
|
+
<span class="cline-any cline-no"> </span>
|
|
1158
|
+
<span class="cline-any cline-no"> </span>
|
|
1159
|
+
<span class="cline-any cline-no"> </span>
|
|
1160
|
+
<span class="cline-any cline-no"> </span>
|
|
1161
|
+
<span class="cline-any cline-no"> </span>
|
|
1162
|
+
<span class="cline-any cline-no"> </span>
|
|
1163
|
+
<span class="cline-any cline-no"> </span>
|
|
1164
|
+
<span class="cline-any cline-no"> </span>
|
|
1165
|
+
<span class="cline-any cline-no"> </span>
|
|
1166
|
+
<span class="cline-any cline-no"> </span>
|
|
1167
|
+
<span class="cline-any cline-no"> </span>
|
|
1168
|
+
<span class="cline-any cline-no"> </span>
|
|
1169
|
+
<span class="cline-any cline-no"> </span>
|
|
1170
|
+
<span class="cline-any cline-no"> </span>
|
|
1171
|
+
<span class="cline-any cline-no"> </span>
|
|
1172
|
+
<span class="cline-any cline-no"> </span>
|
|
1173
|
+
<span class="cline-any cline-no"> </span>
|
|
1174
|
+
<span class="cline-any cline-no"> </span>
|
|
1175
|
+
<span class="cline-any cline-no"> </span>
|
|
1176
|
+
<span class="cline-any cline-no"> </span>
|
|
1177
|
+
<span class="cline-any cline-no"> </span>
|
|
1178
|
+
<span class="cline-any cline-no"> </span>
|
|
1179
|
+
<span class="cline-any cline-no"> </span>
|
|
1180
|
+
<span class="cline-any cline-no"> </span>
|
|
1181
|
+
<span class="cline-any cline-no"> </span>
|
|
1182
|
+
<span class="cline-any cline-no"> </span>
|
|
1183
|
+
<span class="cline-any cline-no"> </span>
|
|
1184
|
+
<span class="cline-any cline-no"> </span>
|
|
1185
|
+
<span class="cline-any cline-no"> </span>
|
|
1186
|
+
<span class="cline-any cline-no"> </span>
|
|
1187
|
+
<span class="cline-any cline-no"> </span>
|
|
1188
|
+
<span class="cline-any cline-no"> </span>
|
|
1189
|
+
<span class="cline-any cline-no"> </span>
|
|
1190
|
+
<span class="cline-any cline-no"> </span>
|
|
1191
|
+
<span class="cline-any cline-no"> </span>
|
|
1192
|
+
<span class="cline-any cline-no"> </span>
|
|
1193
|
+
<span class="cline-any cline-no"> </span>
|
|
1194
|
+
<span class="cline-any cline-no"> </span>
|
|
1195
|
+
<span class="cline-any cline-no"> </span>
|
|
1196
|
+
<span class="cline-any cline-no"> </span>
|
|
1197
|
+
<span class="cline-any cline-no"> </span>
|
|
1198
|
+
<span class="cline-any cline-no"> </span>
|
|
1199
|
+
<span class="cline-any cline-no"> </span>
|
|
1200
|
+
<span class="cline-any cline-no"> </span>
|
|
1201
|
+
<span class="cline-any cline-no"> </span>
|
|
1202
|
+
<span class="cline-any cline-no"> </span>
|
|
1203
|
+
<span class="cline-any cline-no"> </span>
|
|
1204
|
+
<span class="cline-any cline-no"> </span>
|
|
1205
|
+
<span class="cline-any cline-no"> </span>
|
|
1206
|
+
<span class="cline-any cline-no"> </span>
|
|
1207
|
+
<span class="cline-any cline-no"> </span>
|
|
1208
|
+
<span class="cline-any cline-no"> </span>
|
|
1209
|
+
<span class="cline-any cline-no"> </span>
|
|
1210
|
+
<span class="cline-any cline-no"> </span>
|
|
1211
|
+
<span class="cline-any cline-no"> </span>
|
|
1212
|
+
<span class="cline-any cline-no"> </span>
|
|
1213
|
+
<span class="cline-any cline-no"> </span>
|
|
1214
|
+
<span class="cline-any cline-no"> </span>
|
|
1215
|
+
<span class="cline-any cline-no"> </span>
|
|
1216
|
+
<span class="cline-any cline-no"> </span>
|
|
1217
|
+
<span class="cline-any cline-no"> </span>
|
|
1218
|
+
<span class="cline-any cline-no"> </span>
|
|
1219
|
+
<span class="cline-any cline-no"> </span>
|
|
1220
|
+
<span class="cline-any cline-no"> </span>
|
|
1221
|
+
<span class="cline-any cline-no"> </span>
|
|
1222
|
+
<span class="cline-any cline-no"> </span>
|
|
1223
|
+
<span class="cline-any cline-no"> </span>
|
|
1224
|
+
<span class="cline-any cline-no"> </span>
|
|
1225
|
+
<span class="cline-any cline-no"> </span>
|
|
1226
|
+
<span class="cline-any cline-no"> </span>
|
|
1227
|
+
<span class="cline-any cline-no"> </span>
|
|
1228
|
+
<span class="cline-any cline-no"> </span>
|
|
1229
|
+
<span class="cline-any cline-no"> </span>
|
|
1230
|
+
<span class="cline-any cline-no"> </span>
|
|
1231
|
+
<span class="cline-any cline-no"> </span>
|
|
1232
|
+
<span class="cline-any cline-no"> </span>
|
|
1233
|
+
<span class="cline-any cline-no"> </span>
|
|
1234
|
+
<span class="cline-any cline-no"> </span>
|
|
1235
|
+
<span class="cline-any cline-no"> </span>
|
|
1236
|
+
<span class="cline-any cline-no"> </span>
|
|
1237
|
+
<span class="cline-any cline-no"> </span>
|
|
1238
|
+
<span class="cline-any cline-no"> </span>
|
|
1239
|
+
<span class="cline-any cline-no"> </span>
|
|
1240
|
+
<span class="cline-any cline-no"> </span>
|
|
1241
|
+
<span class="cline-any cline-no"> </span>
|
|
1242
|
+
<span class="cline-any cline-no"> </span>
|
|
1243
|
+
<span class="cline-any cline-no"> </span>
|
|
1244
|
+
<span class="cline-any cline-no"> </span>
|
|
1245
|
+
<span class="cline-any cline-no"> </span>
|
|
1246
|
+
<span class="cline-any cline-no"> </span>
|
|
1247
|
+
<span class="cline-any cline-no"> </span>
|
|
1248
|
+
<span class="cline-any cline-no"> </span>
|
|
1249
|
+
<span class="cline-any cline-no"> </span>
|
|
1250
|
+
<span class="cline-any cline-no"> </span>
|
|
1251
|
+
<span class="cline-any cline-no"> </span>
|
|
1252
|
+
<span class="cline-any cline-no"> </span>
|
|
1253
|
+
<span class="cline-any cline-no"> </span>
|
|
1254
|
+
<span class="cline-any cline-no"> </span>
|
|
1255
|
+
<span class="cline-any cline-no"> </span>
|
|
1256
|
+
<span class="cline-any cline-no"> </span>
|
|
1257
|
+
<span class="cline-any cline-no"> </span>
|
|
1258
|
+
<span class="cline-any cline-no"> </span>
|
|
1259
|
+
<span class="cline-any cline-no"> </span>
|
|
1260
|
+
<span class="cline-any cline-no"> </span>
|
|
1261
|
+
<span class="cline-any cline-no"> </span>
|
|
1262
|
+
<span class="cline-any cline-no"> </span>
|
|
1263
|
+
<span class="cline-any cline-no"> </span>
|
|
1264
|
+
<span class="cline-any cline-no"> </span>
|
|
1265
|
+
<span class="cline-any cline-no"> </span>
|
|
1266
|
+
<span class="cline-any cline-no"> </span>
|
|
1267
|
+
<span class="cline-any cline-no"> </span>
|
|
1268
|
+
<span class="cline-any cline-no"> </span>
|
|
1269
|
+
<span class="cline-any cline-no"> </span>
|
|
1270
|
+
<span class="cline-any cline-no"> </span>
|
|
1271
|
+
<span class="cline-any cline-no"> </span>
|
|
1272
|
+
<span class="cline-any cline-no"> </span>
|
|
1273
|
+
<span class="cline-any cline-no"> </span>
|
|
1274
|
+
<span class="cline-any cline-no"> </span>
|
|
1275
|
+
<span class="cline-any cline-no"> </span>
|
|
1276
|
+
<span class="cline-any cline-no"> </span>
|
|
1277
|
+
<span class="cline-any cline-no"> </span>
|
|
1278
|
+
<span class="cline-any cline-no"> </span>
|
|
1279
|
+
<span class="cline-any cline-no"> </span>
|
|
1280
|
+
<span class="cline-any cline-no"> </span>
|
|
1281
|
+
<span class="cline-any cline-no"> </span>
|
|
1282
|
+
<span class="cline-any cline-no"> </span>
|
|
1283
|
+
<span class="cline-any cline-no"> </span>
|
|
1284
|
+
<span class="cline-any cline-no"> </span>
|
|
1285
|
+
<span class="cline-any cline-no"> </span>
|
|
1286
|
+
<span class="cline-any cline-no"> </span>
|
|
1287
|
+
<span class="cline-any cline-no"> </span>
|
|
1288
|
+
<span class="cline-any cline-no"> </span>
|
|
1289
|
+
<span class="cline-any cline-no"> </span>
|
|
1290
|
+
<span class="cline-any cline-no"> </span>
|
|
1291
|
+
<span class="cline-any cline-no"> </span>
|
|
1292
|
+
<span class="cline-any cline-no"> </span>
|
|
1293
|
+
<span class="cline-any cline-no"> </span>
|
|
1294
|
+
<span class="cline-any cline-no"> </span>
|
|
1295
|
+
<span class="cline-any cline-no"> </span>
|
|
1296
|
+
<span class="cline-any cline-no"> </span>
|
|
1297
|
+
<span class="cline-any cline-no"> </span>
|
|
1298
|
+
<span class="cline-any cline-no"> </span>
|
|
1299
|
+
<span class="cline-any cline-no"> </span>
|
|
1300
|
+
<span class="cline-any cline-no"> </span>
|
|
1301
|
+
<span class="cline-any cline-no"> </span>
|
|
1302
|
+
<span class="cline-any cline-no"> </span>
|
|
1303
|
+
<span class="cline-any cline-no"> </span>
|
|
1304
|
+
<span class="cline-any cline-no"> </span>
|
|
1305
|
+
<span class="cline-any cline-no"> </span>
|
|
1306
|
+
<span class="cline-any cline-no"> </span>
|
|
1307
|
+
<span class="cline-any cline-no"> </span>
|
|
1308
|
+
<span class="cline-any cline-no"> </span>
|
|
1309
|
+
<span class="cline-any cline-no"> </span>
|
|
1310
|
+
<span class="cline-any cline-no"> </span>
|
|
1311
|
+
<span class="cline-any cline-no"> </span>
|
|
1312
|
+
<span class="cline-any cline-no"> </span>
|
|
1313
|
+
<span class="cline-any cline-no"> </span>
|
|
1314
|
+
<span class="cline-any cline-no"> </span>
|
|
1315
|
+
<span class="cline-any cline-no"> </span>
|
|
1316
|
+
<span class="cline-any cline-no"> </span>
|
|
1317
|
+
<span class="cline-any cline-no"> </span>
|
|
1318
|
+
<span class="cline-any cline-no"> </span>
|
|
1319
|
+
<span class="cline-any cline-no"> </span>
|
|
1320
|
+
<span class="cline-any cline-no"> </span>
|
|
1321
|
+
<span class="cline-any cline-no"> </span>
|
|
1322
|
+
<span class="cline-any cline-no"> </span>
|
|
1323
|
+
<span class="cline-any cline-no"> </span>
|
|
1324
|
+
<span class="cline-any cline-no"> </span>
|
|
1325
|
+
<span class="cline-any cline-no"> </span>
|
|
1326
|
+
<span class="cline-any cline-no"> </span>
|
|
1327
|
+
<span class="cline-any cline-no"> </span>
|
|
1328
|
+
<span class="cline-any cline-no"> </span>
|
|
1329
|
+
<span class="cline-any cline-no"> </span>
|
|
1330
|
+
<span class="cline-any cline-no"> </span>
|
|
1331
|
+
<span class="cline-any cline-no"> </span>
|
|
1332
|
+
<span class="cline-any cline-no"> </span>
|
|
1333
|
+
<span class="cline-any cline-no"> </span>
|
|
1334
|
+
<span class="cline-any cline-no"> </span>
|
|
1335
|
+
<span class="cline-any cline-no"> </span>
|
|
1336
|
+
<span class="cline-any cline-no"> </span>
|
|
1337
|
+
<span class="cline-any cline-no"> </span>
|
|
1338
|
+
<span class="cline-any cline-no"> </span>
|
|
1339
|
+
<span class="cline-any cline-no"> </span>
|
|
1340
|
+
<span class="cline-any cline-no"> </span>
|
|
1341
|
+
<span class="cline-any cline-no"> </span>
|
|
1342
|
+
<span class="cline-any cline-no"> </span>
|
|
1343
|
+
<span class="cline-any cline-no"> </span>
|
|
1344
|
+
<span class="cline-any cline-no"> </span>
|
|
1345
|
+
<span class="cline-any cline-no"> </span>
|
|
1346
|
+
<span class="cline-any cline-no"> </span>
|
|
1347
|
+
<span class="cline-any cline-no"> </span>
|
|
1348
|
+
<span class="cline-any cline-no"> </span>
|
|
1349
|
+
<span class="cline-any cline-no"> </span>
|
|
1350
|
+
<span class="cline-any cline-no"> </span>
|
|
1351
|
+
<span class="cline-any cline-no"> </span>
|
|
1352
|
+
<span class="cline-any cline-no"> </span>
|
|
1353
|
+
<span class="cline-any cline-no"> </span>
|
|
1354
|
+
<span class="cline-any cline-no"> </span>
|
|
1355
|
+
<span class="cline-any cline-no"> </span>
|
|
1356
|
+
<span class="cline-any cline-no"> </span>
|
|
1357
|
+
<span class="cline-any cline-no"> </span>
|
|
1358
|
+
<span class="cline-any cline-no"> </span>
|
|
1359
|
+
<span class="cline-any cline-no"> </span>
|
|
1360
|
+
<span class="cline-any cline-no"> </span>
|
|
1361
|
+
<span class="cline-any cline-no"> </span>
|
|
1362
|
+
<span class="cline-any cline-no"> </span>
|
|
1363
|
+
<span class="cline-any cline-no"> </span>
|
|
1364
|
+
<span class="cline-any cline-no"> </span>
|
|
1365
|
+
<span class="cline-any cline-no"> </span>
|
|
1366
|
+
<span class="cline-any cline-no"> </span>
|
|
1367
|
+
<span class="cline-any cline-no"> </span>
|
|
1368
|
+
<span class="cline-any cline-no"> </span>
|
|
1369
|
+
<span class="cline-any cline-no"> </span>
|
|
1370
|
+
<span class="cline-any cline-no"> </span>
|
|
1371
|
+
<span class="cline-any cline-no"> </span>
|
|
1372
|
+
<span class="cline-any cline-no"> </span>
|
|
1373
|
+
<span class="cline-any cline-no"> </span>
|
|
1374
|
+
<span class="cline-any cline-no"> </span>
|
|
1375
|
+
<span class="cline-any cline-no"> </span>
|
|
1376
|
+
<span class="cline-any cline-no"> </span>
|
|
1377
|
+
<span class="cline-any cline-no"> </span>
|
|
1378
|
+
<span class="cline-any cline-no"> </span>
|
|
1379
|
+
<span class="cline-any cline-no"> </span>
|
|
1380
|
+
<span class="cline-any cline-no"> </span>
|
|
1381
|
+
<span class="cline-any cline-no"> </span>
|
|
1382
|
+
<span class="cline-any cline-no"> </span>
|
|
1383
|
+
<span class="cline-any cline-no"> </span>
|
|
1384
|
+
<span class="cline-any cline-no"> </span>
|
|
1385
|
+
<span class="cline-any cline-no"> </span>
|
|
1386
|
+
<span class="cline-any cline-no"> </span>
|
|
1387
|
+
<span class="cline-any cline-no"> </span>
|
|
1388
|
+
<span class="cline-any cline-no"> </span>
|
|
1389
|
+
<span class="cline-any cline-no"> </span>
|
|
1390
|
+
<span class="cline-any cline-no"> </span>
|
|
1391
|
+
<span class="cline-any cline-no"> </span>
|
|
1392
|
+
<span class="cline-any cline-no"> </span>
|
|
1393
|
+
<span class="cline-any cline-no"> </span>
|
|
1394
|
+
<span class="cline-any cline-no"> </span>
|
|
1395
|
+
<span class="cline-any cline-no"> </span>
|
|
1396
|
+
<span class="cline-any cline-no"> </span>
|
|
1397
|
+
<span class="cline-any cline-no"> </span>
|
|
1398
|
+
<span class="cline-any cline-no"> </span>
|
|
1399
|
+
<span class="cline-any cline-no"> </span>
|
|
1400
|
+
<span class="cline-any cline-no"> </span>
|
|
1401
|
+
<span class="cline-any cline-no"> </span>
|
|
1402
|
+
<span class="cline-any cline-no"> </span>
|
|
1403
|
+
<span class="cline-any cline-no"> </span>
|
|
1404
|
+
<span class="cline-any cline-no"> </span>
|
|
1405
|
+
<span class="cline-any cline-no"> </span>
|
|
1406
|
+
<span class="cline-any cline-no"> </span>
|
|
1407
|
+
<span class="cline-any cline-no"> </span>
|
|
1408
|
+
<span class="cline-any cline-no"> </span>
|
|
1409
|
+
<span class="cline-any cline-no"> </span>
|
|
1410
|
+
<span class="cline-any cline-no"> </span>
|
|
1411
|
+
<span class="cline-any cline-no"> </span>
|
|
1412
|
+
<span class="cline-any cline-no"> </span>
|
|
1413
|
+
<span class="cline-any cline-no"> </span>
|
|
1414
|
+
<span class="cline-any cline-no"> </span>
|
|
1415
|
+
<span class="cline-any cline-no"> </span>
|
|
1416
|
+
<span class="cline-any cline-no"> </span>
|
|
1417
|
+
<span class="cline-any cline-no"> </span>
|
|
1418
|
+
<span class="cline-any cline-no"> </span>
|
|
1419
|
+
<span class="cline-any cline-no"> </span>
|
|
1420
|
+
<span class="cline-any cline-no"> </span>
|
|
1421
|
+
<span class="cline-any cline-no"> </span>
|
|
1422
|
+
<span class="cline-any cline-no"> </span>
|
|
1423
|
+
<span class="cline-any cline-no"> </span>
|
|
1424
|
+
<span class="cline-any cline-no"> </span>
|
|
1425
|
+
<span class="cline-any cline-no"> </span>
|
|
1426
|
+
<span class="cline-any cline-no"> </span>
|
|
1427
|
+
<span class="cline-any cline-no"> </span>
|
|
1428
|
+
<span class="cline-any cline-no"> </span>
|
|
1429
|
+
<span class="cline-any cline-no"> </span>
|
|
1430
|
+
<span class="cline-any cline-no"> </span>
|
|
1431
|
+
<span class="cline-any cline-no"> </span>
|
|
1432
|
+
<span class="cline-any cline-no"> </span>
|
|
1433
|
+
<span class="cline-any cline-no"> </span>
|
|
1434
|
+
<span class="cline-any cline-no"> </span>
|
|
1435
|
+
<span class="cline-any cline-no"> </span>
|
|
1436
|
+
<span class="cline-any cline-no"> </span>
|
|
1437
|
+
<span class="cline-any cline-no"> </span>
|
|
1438
|
+
<span class="cline-any cline-no"> </span>
|
|
1439
|
+
<span class="cline-any cline-no"> </span>
|
|
1440
|
+
<span class="cline-any cline-no"> </span>
|
|
1441
|
+
<span class="cline-any cline-no"> </span>
|
|
1442
|
+
<span class="cline-any cline-no"> </span>
|
|
1443
|
+
<span class="cline-any cline-no"> </span>
|
|
1444
|
+
<span class="cline-any cline-no"> </span>
|
|
1445
|
+
<span class="cline-any cline-no"> </span>
|
|
1446
|
+
<span class="cline-any cline-no"> </span>
|
|
1447
|
+
<span class="cline-any cline-no"> </span>
|
|
1448
|
+
<span class="cline-any cline-no"> </span>
|
|
1449
|
+
<span class="cline-any cline-no"> </span>
|
|
1450
|
+
<span class="cline-any cline-no"> </span>
|
|
1451
|
+
<span class="cline-any cline-no"> </span>
|
|
1452
|
+
<span class="cline-any cline-no"> </span>
|
|
1453
|
+
<span class="cline-any cline-no"> </span>
|
|
1454
|
+
<span class="cline-any cline-no"> </span>
|
|
1455
|
+
<span class="cline-any cline-no"> </span>
|
|
1456
|
+
<span class="cline-any cline-no"> </span>
|
|
1457
|
+
<span class="cline-any cline-no"> </span>
|
|
1458
|
+
<span class="cline-any cline-no"> </span>
|
|
1459
|
+
<span class="cline-any cline-no"> </span>
|
|
1460
|
+
<span class="cline-any cline-no"> </span>
|
|
1461
|
+
<span class="cline-any cline-no"> </span>
|
|
1462
|
+
<span class="cline-any cline-no"> </span>
|
|
1463
|
+
<span class="cline-any cline-no"> </span>
|
|
1464
|
+
<span class="cline-any cline-no"> </span>
|
|
1465
|
+
<span class="cline-any cline-no"> </span>
|
|
1466
|
+
<span class="cline-any cline-no"> </span>
|
|
1467
|
+
<span class="cline-any cline-no"> </span>
|
|
1468
|
+
<span class="cline-any cline-no"> </span>
|
|
1469
|
+
<span class="cline-any cline-no"> </span>
|
|
1470
|
+
<span class="cline-any cline-no"> </span>
|
|
1471
|
+
<span class="cline-any cline-no"> </span>
|
|
1472
|
+
<span class="cline-any cline-no"> </span>
|
|
1473
|
+
<span class="cline-any cline-no"> </span>
|
|
1474
|
+
<span class="cline-any cline-no"> </span>
|
|
1475
|
+
<span class="cline-any cline-no"> </span>
|
|
1476
|
+
<span class="cline-any cline-no"> </span>
|
|
1477
|
+
<span class="cline-any cline-no"> </span>
|
|
1478
|
+
<span class="cline-any cline-no"> </span>
|
|
1479
|
+
<span class="cline-any cline-no"> </span>
|
|
1480
|
+
<span class="cline-any cline-no"> </span>
|
|
1481
|
+
<span class="cline-any cline-no"> </span>
|
|
1482
|
+
<span class="cline-any cline-no"> </span>
|
|
1483
|
+
<span class="cline-any cline-no"> </span>
|
|
1484
|
+
<span class="cline-any cline-no"> </span>
|
|
1485
|
+
<span class="cline-any cline-no"> </span>
|
|
1486
|
+
<span class="cline-any cline-no"> </span>
|
|
1487
|
+
<span class="cline-any cline-no"> </span>
|
|
1488
|
+
<span class="cline-any cline-no"> </span>
|
|
1489
|
+
<span class="cline-any cline-no"> </span>
|
|
1490
|
+
<span class="cline-any cline-no"> </span>
|
|
1491
|
+
<span class="cline-any cline-no"> </span>
|
|
1492
|
+
<span class="cline-any cline-no"> </span>
|
|
1493
|
+
<span class="cline-any cline-no"> </span>
|
|
1494
|
+
<span class="cline-any cline-no"> </span>
|
|
1495
|
+
<span class="cline-any cline-no"> </span>
|
|
1496
|
+
<span class="cline-any cline-no"> </span>
|
|
1497
|
+
<span class="cline-any cline-no"> </span>
|
|
1498
|
+
<span class="cline-any cline-no"> </span>
|
|
1499
|
+
<span class="cline-any cline-no"> </span>
|
|
1500
|
+
<span class="cline-any cline-no"> </span>
|
|
1501
|
+
<span class="cline-any cline-no"> </span>
|
|
1502
|
+
<span class="cline-any cline-no"> </span>
|
|
1503
|
+
<span class="cline-any cline-no"> </span>
|
|
1504
|
+
<span class="cline-any cline-no"> </span>
|
|
1505
|
+
<span class="cline-any cline-no"> </span>
|
|
1506
|
+
<span class="cline-any cline-no"> </span>
|
|
1507
|
+
<span class="cline-any cline-no"> </span>
|
|
1508
|
+
<span class="cline-any cline-no"> </span>
|
|
1509
|
+
<span class="cline-any cline-no"> </span>
|
|
1510
|
+
<span class="cline-any cline-no"> </span>
|
|
1511
|
+
<span class="cline-any cline-no"> </span>
|
|
1512
|
+
<span class="cline-any cline-no"> </span>
|
|
1513
|
+
<span class="cline-any cline-no"> </span>
|
|
1514
|
+
<span class="cline-any cline-no"> </span>
|
|
1515
|
+
<span class="cline-any cline-no"> </span>
|
|
1516
|
+
<span class="cline-any cline-no"> </span>
|
|
1517
|
+
<span class="cline-any cline-no"> </span>
|
|
1518
|
+
<span class="cline-any cline-no"> </span>
|
|
1519
|
+
<span class="cline-any cline-no"> </span>
|
|
1520
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >/**<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
|
|
1521
|
+
<span class="cstat-no" title="statement not covered" > * V3 Unified Memory Types</span>
|
|
1522
|
+
<span class="cstat-no" title="statement not covered" > *</span>
|
|
1523
|
+
<span class="cstat-no" title="statement not covered" > * Type definitions for the unified memory system based on AgentDB with HNSW indexing.</span>
|
|
1524
|
+
<span class="cstat-no" title="statement not covered" > * Supports 150x-12,500x faster vector search compared to brute-force approaches.</span>
|
|
1525
|
+
<span class="cstat-no" title="statement not covered" > *</span>
|
|
1526
|
+
<span class="cstat-no" title="statement not covered" > * @module v3/memory/types</span>
|
|
1527
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1528
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1529
|
+
<span class="cstat-no" title="statement not covered" >// ===== Core Memory Entry Types =====</span>
|
|
1530
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1531
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
1532
|
+
<span class="cstat-no" title="statement not covered" > * Memory entry type classification</span>
|
|
1533
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1534
|
+
<span class="cstat-no" title="statement not covered" >export type MemoryType =</span>
|
|
1535
|
+
<span class="cstat-no" title="statement not covered" > | 'episodic' // Time-based experiences and events</span>
|
|
1536
|
+
<span class="cstat-no" title="statement not covered" > | 'semantic' // Facts, concepts, and knowledge</span>
|
|
1537
|
+
<span class="cstat-no" title="statement not covered" > | 'procedural' // How-to knowledge and skills</span>
|
|
1538
|
+
<span class="cstat-no" title="statement not covered" > | 'working' // Short-term operational memory</span>
|
|
1539
|
+
<span class="cstat-no" title="statement not covered" > | 'cache'; // Temporary cached data</span>
|
|
1540
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1541
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
1542
|
+
<span class="cstat-no" title="statement not covered" > * Access level for memory entries</span>
|
|
1543
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1544
|
+
<span class="cstat-no" title="statement not covered" >export type AccessLevel =</span>
|
|
1545
|
+
<span class="cstat-no" title="statement not covered" > | 'private' // Only owner can access</span>
|
|
1546
|
+
<span class="cstat-no" title="statement not covered" > | 'team' // Team members can access</span>
|
|
1547
|
+
<span class="cstat-no" title="statement not covered" > | 'swarm' // All swarm agents can access</span>
|
|
1548
|
+
<span class="cstat-no" title="statement not covered" > | 'public' // Publicly accessible</span>
|
|
1549
|
+
<span class="cstat-no" title="statement not covered" > | 'system'; // System-level access</span>
|
|
1550
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1551
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
1552
|
+
<span class="cstat-no" title="statement not covered" > * Consistency level for distributed memory operations</span>
|
|
1553
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1554
|
+
<span class="cstat-no" title="statement not covered" >export type ConsistencyLevel =</span>
|
|
1555
|
+
<span class="cstat-no" title="statement not covered" > | 'strong' // Strong consistency (all nodes agree)</span>
|
|
1556
|
+
<span class="cstat-no" title="statement not covered" > | 'eventual' // Eventual consistency (propagates over time)</span>
|
|
1557
|
+
<span class="cstat-no" title="statement not covered" > | 'session' // Session-scoped consistency</span>
|
|
1558
|
+
<span class="cstat-no" title="statement not covered" > | 'weak'; // Weak consistency (best effort)</span>
|
|
1559
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1560
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
1561
|
+
<span class="cstat-no" title="statement not covered" > * Distance metrics for vector similarity search</span>
|
|
1562
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1563
|
+
<span class="cstat-no" title="statement not covered" >export type DistanceMetric =</span>
|
|
1564
|
+
<span class="cstat-no" title="statement not covered" > | 'cosine' // Cosine similarity (default)</span>
|
|
1565
|
+
<span class="cstat-no" title="statement not covered" > | 'euclidean' // Euclidean distance (L2)</span>
|
|
1566
|
+
<span class="cstat-no" title="statement not covered" > | 'dot' // Dot product</span>
|
|
1567
|
+
<span class="cstat-no" title="statement not covered" > | 'manhattan'; // Manhattan distance (L1)</span>
|
|
1568
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1569
|
+
<span class="cstat-no" title="statement not covered" >// ===== Memory Entry =====</span>
|
|
1570
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1571
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
1572
|
+
<span class="cstat-no" title="statement not covered" > * Core memory entry structure with vector embedding support</span>
|
|
1573
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1574
|
+
<span class="cstat-no" title="statement not covered" >export interface MemoryEntry {</span>
|
|
1575
|
+
<span class="cstat-no" title="statement not covered" > /** Unique identifier */</span>
|
|
1576
|
+
<span class="cstat-no" title="statement not covered" > id: string;</span>
|
|
1577
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1578
|
+
<span class="cstat-no" title="statement not covered" > /** Human-readable key for retrieval */</span>
|
|
1579
|
+
<span class="cstat-no" title="statement not covered" > key: string;</span>
|
|
1580
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1581
|
+
<span class="cstat-no" title="statement not covered" > /** Actual content of the memory */</span>
|
|
1582
|
+
<span class="cstat-no" title="statement not covered" > content: string;</span>
|
|
1583
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1584
|
+
<span class="cstat-no" title="statement not covered" > /** Vector embedding for semantic search (Float32Array for efficiency) */</span>
|
|
1585
|
+
<span class="cstat-no" title="statement not covered" > embedding?: Float32Array;</span>
|
|
1586
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1587
|
+
<span class="cstat-no" title="statement not covered" > /** Type of memory */</span>
|
|
1588
|
+
<span class="cstat-no" title="statement not covered" > type: MemoryType;</span>
|
|
1589
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1590
|
+
<span class="cstat-no" title="statement not covered" > /** Namespace for organization */</span>
|
|
1591
|
+
<span class="cstat-no" title="statement not covered" > namespace: string;</span>
|
|
1592
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1593
|
+
<span class="cstat-no" title="statement not covered" > /** Tags for categorization and filtering */</span>
|
|
1594
|
+
<span class="cstat-no" title="statement not covered" > tags: string[];</span>
|
|
1595
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1596
|
+
<span class="cstat-no" title="statement not covered" > /** Additional metadata */</span>
|
|
1597
|
+
<span class="cstat-no" title="statement not covered" > metadata: Record<string, unknown>;</span>
|
|
1598
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1599
|
+
<span class="cstat-no" title="statement not covered" > /** Owner agent ID */</span>
|
|
1600
|
+
<span class="cstat-no" title="statement not covered" > ownerId?: string;</span>
|
|
1601
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1602
|
+
<span class="cstat-no" title="statement not covered" > /** Access level */</span>
|
|
1603
|
+
<span class="cstat-no" title="statement not covered" > accessLevel: AccessLevel;</span>
|
|
1604
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1605
|
+
<span class="cstat-no" title="statement not covered" > /** Creation timestamp */</span>
|
|
1606
|
+
<span class="cstat-no" title="statement not covered" > createdAt: number;</span>
|
|
1607
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1608
|
+
<span class="cstat-no" title="statement not covered" > /** Last update timestamp */</span>
|
|
1609
|
+
<span class="cstat-no" title="statement not covered" > updatedAt: number;</span>
|
|
1610
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1611
|
+
<span class="cstat-no" title="statement not covered" > /** Expiration timestamp (optional) */</span>
|
|
1612
|
+
<span class="cstat-no" title="statement not covered" > expiresAt?: number;</span>
|
|
1613
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1614
|
+
<span class="cstat-no" title="statement not covered" > /** Version number for optimistic locking */</span>
|
|
1615
|
+
<span class="cstat-no" title="statement not covered" > version: number;</span>
|
|
1616
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1617
|
+
<span class="cstat-no" title="statement not covered" > /** References to other memory entries */</span>
|
|
1618
|
+
<span class="cstat-no" title="statement not covered" > references: string[];</span>
|
|
1619
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1620
|
+
<span class="cstat-no" title="statement not covered" > /** Access count for usage tracking */</span>
|
|
1621
|
+
<span class="cstat-no" title="statement not covered" > accessCount: number;</span>
|
|
1622
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1623
|
+
<span class="cstat-no" title="statement not covered" > /** Last access timestamp */</span>
|
|
1624
|
+
<span class="cstat-no" title="statement not covered" > lastAccessedAt: number;</span>
|
|
1625
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
1626
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1627
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
1628
|
+
<span class="cstat-no" title="statement not covered" > * Input for creating a new memory entry</span>
|
|
1629
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1630
|
+
<span class="cstat-no" title="statement not covered" >export interface MemoryEntryInput {</span>
|
|
1631
|
+
<span class="cstat-no" title="statement not covered" > key: string;</span>
|
|
1632
|
+
<span class="cstat-no" title="statement not covered" > content: string;</span>
|
|
1633
|
+
<span class="cstat-no" title="statement not covered" > type?: MemoryType;</span>
|
|
1634
|
+
<span class="cstat-no" title="statement not covered" > namespace?: string;</span>
|
|
1635
|
+
<span class="cstat-no" title="statement not covered" > tags?: string[];</span>
|
|
1636
|
+
<span class="cstat-no" title="statement not covered" > metadata?: Record<string, unknown>;</span>
|
|
1637
|
+
<span class="cstat-no" title="statement not covered" > ownerId?: string;</span>
|
|
1638
|
+
<span class="cstat-no" title="statement not covered" > accessLevel?: AccessLevel;</span>
|
|
1639
|
+
<span class="cstat-no" title="statement not covered" > expiresAt?: number;</span>
|
|
1640
|
+
<span class="cstat-no" title="statement not covered" > references?: string[];</span>
|
|
1641
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
1642
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1643
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
1644
|
+
<span class="cstat-no" title="statement not covered" > * Partial update for a memory entry</span>
|
|
1645
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1646
|
+
<span class="cstat-no" title="statement not covered" >export interface MemoryEntryUpdate {</span>
|
|
1647
|
+
<span class="cstat-no" title="statement not covered" > content?: string;</span>
|
|
1648
|
+
<span class="cstat-no" title="statement not covered" > tags?: string[];</span>
|
|
1649
|
+
<span class="cstat-no" title="statement not covered" > metadata?: Record<string, unknown>;</span>
|
|
1650
|
+
<span class="cstat-no" title="statement not covered" > accessLevel?: AccessLevel;</span>
|
|
1651
|
+
<span class="cstat-no" title="statement not covered" > expiresAt?: number;</span>
|
|
1652
|
+
<span class="cstat-no" title="statement not covered" > references?: string[];</span>
|
|
1653
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
1654
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1655
|
+
<span class="cstat-no" title="statement not covered" >// ===== Query Types =====</span>
|
|
1656
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1657
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
1658
|
+
<span class="cstat-no" title="statement not covered" > * Query type for memory retrieval</span>
|
|
1659
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1660
|
+
<span class="cstat-no" title="statement not covered" >export type QueryType =</span>
|
|
1661
|
+
<span class="cstat-no" title="statement not covered" > | 'semantic' // Vector similarity search</span>
|
|
1662
|
+
<span class="cstat-no" title="statement not covered" > | 'exact' // Exact key match</span>
|
|
1663
|
+
<span class="cstat-no" title="statement not covered" > | 'prefix' // Key prefix match</span>
|
|
1664
|
+
<span class="cstat-no" title="statement not covered" > | 'tag' // Tag-based search</span>
|
|
1665
|
+
<span class="cstat-no" title="statement not covered" > | 'hybrid'; // Combined semantic + filters</span>
|
|
1666
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1667
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
1668
|
+
<span class="cstat-no" title="statement not covered" > * Memory query specification</span>
|
|
1669
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1670
|
+
<span class="cstat-no" title="statement not covered" >export interface MemoryQuery {</span>
|
|
1671
|
+
<span class="cstat-no" title="statement not covered" > /** Type of query to perform */</span>
|
|
1672
|
+
<span class="cstat-no" title="statement not covered" > type: QueryType;</span>
|
|
1673
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1674
|
+
<span class="cstat-no" title="statement not covered" > /** Content for semantic search (will be embedded) */</span>
|
|
1675
|
+
<span class="cstat-no" title="statement not covered" > content?: string;</span>
|
|
1676
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1677
|
+
<span class="cstat-no" title="statement not covered" > /** Pre-computed embedding for semantic search */</span>
|
|
1678
|
+
<span class="cstat-no" title="statement not covered" > embedding?: Float32Array;</span>
|
|
1679
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1680
|
+
<span class="cstat-no" title="statement not covered" > /** Exact key to match */</span>
|
|
1681
|
+
<span class="cstat-no" title="statement not covered" > key?: string;</span>
|
|
1682
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1683
|
+
<span class="cstat-no" title="statement not covered" > /** Key prefix to match */</span>
|
|
1684
|
+
<span class="cstat-no" title="statement not covered" > keyPrefix?: string;</span>
|
|
1685
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1686
|
+
<span class="cstat-no" title="statement not covered" > /** Namespace filter */</span>
|
|
1687
|
+
<span class="cstat-no" title="statement not covered" > namespace?: string;</span>
|
|
1688
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1689
|
+
<span class="cstat-no" title="statement not covered" > /** Tag filters (entries must have all specified tags) */</span>
|
|
1690
|
+
<span class="cstat-no" title="statement not covered" > tags?: string[];</span>
|
|
1691
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1692
|
+
<span class="cstat-no" title="statement not covered" > /** Memory type filter */</span>
|
|
1693
|
+
<span class="cstat-no" title="statement not covered" > memoryType?: MemoryType;</span>
|
|
1694
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1695
|
+
<span class="cstat-no" title="statement not covered" > /** Access level filter */</span>
|
|
1696
|
+
<span class="cstat-no" title="statement not covered" > accessLevel?: AccessLevel;</span>
|
|
1697
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1698
|
+
<span class="cstat-no" title="statement not covered" > /** Owner filter */</span>
|
|
1699
|
+
<span class="cstat-no" title="statement not covered" > ownerId?: string;</span>
|
|
1700
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1701
|
+
<span class="cstat-no" title="statement not covered" > /** Metadata filters */</span>
|
|
1702
|
+
<span class="cstat-no" title="statement not covered" > metadata?: Record<string, unknown>;</span>
|
|
1703
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1704
|
+
<span class="cstat-no" title="statement not covered" > /** Time range filters */</span>
|
|
1705
|
+
<span class="cstat-no" title="statement not covered" > createdAfter?: number;</span>
|
|
1706
|
+
<span class="cstat-no" title="statement not covered" > createdBefore?: number;</span>
|
|
1707
|
+
<span class="cstat-no" title="statement not covered" > updatedAfter?: number;</span>
|
|
1708
|
+
<span class="cstat-no" title="statement not covered" > updatedBefore?: number;</span>
|
|
1709
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1710
|
+
<span class="cstat-no" title="statement not covered" > /** Maximum number of results */</span>
|
|
1711
|
+
<span class="cstat-no" title="statement not covered" > limit: number;</span>
|
|
1712
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1713
|
+
<span class="cstat-no" title="statement not covered" > /** Offset for pagination */</span>
|
|
1714
|
+
<span class="cstat-no" title="statement not covered" > offset?: number;</span>
|
|
1715
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1716
|
+
<span class="cstat-no" title="statement not covered" > /** Minimum similarity threshold (0-1) for semantic search */</span>
|
|
1717
|
+
<span class="cstat-no" title="statement not covered" > threshold?: number;</span>
|
|
1718
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1719
|
+
<span class="cstat-no" title="statement not covered" > /** Include expired entries */</span>
|
|
1720
|
+
<span class="cstat-no" title="statement not covered" > includeExpired?: boolean;</span>
|
|
1721
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1722
|
+
<span class="cstat-no" title="statement not covered" > /** Distance metric for semantic search */</span>
|
|
1723
|
+
<span class="cstat-no" title="statement not covered" > distanceMetric?: DistanceMetric;</span>
|
|
1724
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
1725
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1726
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
1727
|
+
<span class="cstat-no" title="statement not covered" > * Search result with similarity score</span>
|
|
1728
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1729
|
+
<span class="cstat-no" title="statement not covered" >export interface SearchResult {</span>
|
|
1730
|
+
<span class="cstat-no" title="statement not covered" > /** The memory entry */</span>
|
|
1731
|
+
<span class="cstat-no" title="statement not covered" > entry: MemoryEntry;</span>
|
|
1732
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1733
|
+
<span class="cstat-no" title="statement not covered" > /** Similarity score (0-1, higher is better) */</span>
|
|
1734
|
+
<span class="cstat-no" title="statement not covered" > score: number;</span>
|
|
1735
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1736
|
+
<span class="cstat-no" title="statement not covered" > /** Distance from query vector */</span>
|
|
1737
|
+
<span class="cstat-no" title="statement not covered" > distance: number;</span>
|
|
1738
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
1739
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1740
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
1741
|
+
<span class="cstat-no" title="statement not covered" > * Search options for HNSW vector search</span>
|
|
1742
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1743
|
+
<span class="cstat-no" title="statement not covered" >export interface SearchOptions {</span>
|
|
1744
|
+
<span class="cstat-no" title="statement not covered" > /** Number of results to return */</span>
|
|
1745
|
+
<span class="cstat-no" title="statement not covered" > k: number;</span>
|
|
1746
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1747
|
+
<span class="cstat-no" title="statement not covered" > /** Search expansion factor (higher = more accurate, slower) */</span>
|
|
1748
|
+
<span class="cstat-no" title="statement not covered" > ef?: number;</span>
|
|
1749
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1750
|
+
<span class="cstat-no" title="statement not covered" > /** Minimum similarity threshold (0-1) */</span>
|
|
1751
|
+
<span class="cstat-no" title="statement not covered" > threshold?: number;</span>
|
|
1752
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1753
|
+
<span class="cstat-no" title="statement not covered" > /** Distance metric */</span>
|
|
1754
|
+
<span class="cstat-no" title="statement not covered" > metric?: DistanceMetric;</span>
|
|
1755
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1756
|
+
<span class="cstat-no" title="statement not covered" > /** Additional filters to apply post-search */</span>
|
|
1757
|
+
<span class="cstat-no" title="statement not covered" > filters?: MemoryQuery;</span>
|
|
1758
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
1759
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1760
|
+
<span class="cstat-no" title="statement not covered" >// ===== HNSW Index Types =====</span>
|
|
1761
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1762
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
1763
|
+
<span class="cstat-no" title="statement not covered" > * HNSW index configuration</span>
|
|
1764
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1765
|
+
<span class="cstat-no" title="statement not covered" >export interface HNSWConfig {</span>
|
|
1766
|
+
<span class="cstat-no" title="statement not covered" > /** Vector dimensions (e.g., 1536 for OpenAI embeddings) */</span>
|
|
1767
|
+
<span class="cstat-no" title="statement not covered" > dimensions: number;</span>
|
|
1768
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1769
|
+
<span class="cstat-no" title="statement not covered" > /** Maximum number of connections per layer (default: 16) */</span>
|
|
1770
|
+
<span class="cstat-no" title="statement not covered" > M: number;</span>
|
|
1771
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1772
|
+
<span class="cstat-no" title="statement not covered" > /** Size of the dynamic candidate list during construction (default: 200) */</span>
|
|
1773
|
+
<span class="cstat-no" title="statement not covered" > efConstruction: number;</span>
|
|
1774
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1775
|
+
<span class="cstat-no" title="statement not covered" > /** Maximum elements the index can hold */</span>
|
|
1776
|
+
<span class="cstat-no" title="statement not covered" > maxElements: number;</span>
|
|
1777
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1778
|
+
<span class="cstat-no" title="statement not covered" > /** Distance metric */</span>
|
|
1779
|
+
<span class="cstat-no" title="statement not covered" > metric: DistanceMetric;</span>
|
|
1780
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1781
|
+
<span class="cstat-no" title="statement not covered" > /** Enable quantization for memory efficiency */</span>
|
|
1782
|
+
<span class="cstat-no" title="statement not covered" > quantization?: QuantizationConfig;</span>
|
|
1783
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
1784
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1785
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
1786
|
+
<span class="cstat-no" title="statement not covered" > * Quantization configuration for memory reduction</span>
|
|
1787
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1788
|
+
<span class="cstat-no" title="statement not covered" >export interface QuantizationConfig {</span>
|
|
1789
|
+
<span class="cstat-no" title="statement not covered" > /** Quantization type */</span>
|
|
1790
|
+
<span class="cstat-no" title="statement not covered" > type: 'binary' | 'scalar' | 'product';</span>
|
|
1791
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1792
|
+
<span class="cstat-no" title="statement not covered" > /** Number of bits for scalar quantization */</span>
|
|
1793
|
+
<span class="cstat-no" title="statement not covered" > bits?: 4 | 8 | 16;</span>
|
|
1794
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1795
|
+
<span class="cstat-no" title="statement not covered" > /** Number of subquantizers for product quantization */</span>
|
|
1796
|
+
<span class="cstat-no" title="statement not covered" > subquantizers?: number;</span>
|
|
1797
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1798
|
+
<span class="cstat-no" title="statement not covered" > /** Codebook size for product quantization */</span>
|
|
1799
|
+
<span class="cstat-no" title="statement not covered" > codebookSize?: number;</span>
|
|
1800
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
1801
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1802
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
1803
|
+
<span class="cstat-no" title="statement not covered" > * HNSW index statistics</span>
|
|
1804
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1805
|
+
<span class="cstat-no" title="statement not covered" >export interface HNSWStats {</span>
|
|
1806
|
+
<span class="cstat-no" title="statement not covered" > /** Total number of vectors in the index */</span>
|
|
1807
|
+
<span class="cstat-no" title="statement not covered" > vectorCount: number;</span>
|
|
1808
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1809
|
+
<span class="cstat-no" title="statement not covered" > /** Memory usage in bytes */</span>
|
|
1810
|
+
<span class="cstat-no" title="statement not covered" > memoryUsage: number;</span>
|
|
1811
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1812
|
+
<span class="cstat-no" title="statement not covered" > /** Average search time in milliseconds */</span>
|
|
1813
|
+
<span class="cstat-no" title="statement not covered" > avgSearchTime: number;</span>
|
|
1814
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1815
|
+
<span class="cstat-no" title="statement not covered" > /** Index build time in milliseconds */</span>
|
|
1816
|
+
<span class="cstat-no" title="statement not covered" > buildTime: number;</span>
|
|
1817
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1818
|
+
<span class="cstat-no" title="statement not covered" > /** Compression ratio if quantization is enabled */</span>
|
|
1819
|
+
<span class="cstat-no" title="statement not covered" > compressionRatio?: number;</span>
|
|
1820
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
1821
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1822
|
+
<span class="cstat-no" title="statement not covered" >// ===== Backend Interface =====</span>
|
|
1823
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1824
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
1825
|
+
<span class="cstat-no" title="statement not covered" > * Memory backend interface for storage and retrieval</span>
|
|
1826
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1827
|
+
<span class="cstat-no" title="statement not covered" >export interface IMemoryBackend {</span>
|
|
1828
|
+
<span class="cstat-no" title="statement not covered" > /** Initialize the backend */</span>
|
|
1829
|
+
<span class="cstat-no" title="statement not covered" > initialize(): Promise<void>;</span>
|
|
1830
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1831
|
+
<span class="cstat-no" title="statement not covered" > /** Shutdown the backend */</span>
|
|
1832
|
+
<span class="cstat-no" title="statement not covered" > shutdown(): Promise<void>;</span>
|
|
1833
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1834
|
+
<span class="cstat-no" title="statement not covered" > /** Store a memory entry */</span>
|
|
1835
|
+
<span class="cstat-no" title="statement not covered" > store(entry: MemoryEntry): Promise<void>;</span>
|
|
1836
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1837
|
+
<span class="cstat-no" title="statement not covered" > /** Retrieve a memory entry by ID */</span>
|
|
1838
|
+
<span class="cstat-no" title="statement not covered" > get(id: string): Promise<MemoryEntry | null>;</span>
|
|
1839
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1840
|
+
<span class="cstat-no" title="statement not covered" > /** Retrieve a memory entry by key within a namespace */</span>
|
|
1841
|
+
<span class="cstat-no" title="statement not covered" > getByKey(namespace: string, key: string): Promise<MemoryEntry | null>;</span>
|
|
1842
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1843
|
+
<span class="cstat-no" title="statement not covered" > /** Update a memory entry */</span>
|
|
1844
|
+
<span class="cstat-no" title="statement not covered" > update(id: string, update: MemoryEntryUpdate): Promise<MemoryEntry | null>;</span>
|
|
1845
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1846
|
+
<span class="cstat-no" title="statement not covered" > /** Delete a memory entry */</span>
|
|
1847
|
+
<span class="cstat-no" title="statement not covered" > delete(id: string): Promise<boolean>;</span>
|
|
1848
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1849
|
+
<span class="cstat-no" title="statement not covered" > /** Query memory entries */</span>
|
|
1850
|
+
<span class="cstat-no" title="statement not covered" > query(query: MemoryQuery): Promise<MemoryEntry[]>;</span>
|
|
1851
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1852
|
+
<span class="cstat-no" title="statement not covered" > /** Semantic vector search */</span>
|
|
1853
|
+
<span class="cstat-no" title="statement not covered" > search(embedding: Float32Array, options: SearchOptions): Promise<SearchResult[]>;</span>
|
|
1854
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1855
|
+
<span class="cstat-no" title="statement not covered" > /** Bulk insert entries */</span>
|
|
1856
|
+
<span class="cstat-no" title="statement not covered" > bulkInsert(entries: MemoryEntry[]): Promise<void>;</span>
|
|
1857
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1858
|
+
<span class="cstat-no" title="statement not covered" > /** Bulk delete entries */</span>
|
|
1859
|
+
<span class="cstat-no" title="statement not covered" > bulkDelete(ids: string[]): Promise<number>;</span>
|
|
1860
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1861
|
+
<span class="cstat-no" title="statement not covered" > /** Get entry count */</span>
|
|
1862
|
+
<span class="cstat-no" title="statement not covered" > count(namespace?: string): Promise<number>;</span>
|
|
1863
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1864
|
+
<span class="cstat-no" title="statement not covered" > /** List all namespaces */</span>
|
|
1865
|
+
<span class="cstat-no" title="statement not covered" > listNamespaces(): Promise<string[]>;</span>
|
|
1866
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1867
|
+
<span class="cstat-no" title="statement not covered" > /** Clear all entries in a namespace */</span>
|
|
1868
|
+
<span class="cstat-no" title="statement not covered" > clearNamespace(namespace: string): Promise<number>;</span>
|
|
1869
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1870
|
+
<span class="cstat-no" title="statement not covered" > /** Get backend statistics */</span>
|
|
1871
|
+
<span class="cstat-no" title="statement not covered" > getStats(): Promise<BackendStats>;</span>
|
|
1872
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1873
|
+
<span class="cstat-no" title="statement not covered" > /** Perform health check */</span>
|
|
1874
|
+
<span class="cstat-no" title="statement not covered" > healthCheck(): Promise<HealthCheckResult>;</span>
|
|
1875
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
1876
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1877
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
1878
|
+
<span class="cstat-no" title="statement not covered" > * Backend statistics</span>
|
|
1879
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1880
|
+
<span class="cstat-no" title="statement not covered" >export interface BackendStats {</span>
|
|
1881
|
+
<span class="cstat-no" title="statement not covered" > /** Total number of entries */</span>
|
|
1882
|
+
<span class="cstat-no" title="statement not covered" > totalEntries: number;</span>
|
|
1883
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1884
|
+
<span class="cstat-no" title="statement not covered" > /** Entries by namespace */</span>
|
|
1885
|
+
<span class="cstat-no" title="statement not covered" > entriesByNamespace: Record<string, number>;</span>
|
|
1886
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1887
|
+
<span class="cstat-no" title="statement not covered" > /** Entries by type */</span>
|
|
1888
|
+
<span class="cstat-no" title="statement not covered" > entriesByType: Record<MemoryType, number>;</span>
|
|
1889
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1890
|
+
<span class="cstat-no" title="statement not covered" > /** Total memory usage in bytes */</span>
|
|
1891
|
+
<span class="cstat-no" title="statement not covered" > memoryUsage: number;</span>
|
|
1892
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1893
|
+
<span class="cstat-no" title="statement not covered" > /** HNSW index statistics */</span>
|
|
1894
|
+
<span class="cstat-no" title="statement not covered" > hnswStats?: HNSWStats;</span>
|
|
1895
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1896
|
+
<span class="cstat-no" title="statement not covered" > /** Cache statistics */</span>
|
|
1897
|
+
<span class="cstat-no" title="statement not covered" > cacheStats?: CacheStats;</span>
|
|
1898
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1899
|
+
<span class="cstat-no" title="statement not covered" > /** Average query time in milliseconds */</span>
|
|
1900
|
+
<span class="cstat-no" title="statement not covered" > avgQueryTime: number;</span>
|
|
1901
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1902
|
+
<span class="cstat-no" title="statement not covered" > /** Average search time in milliseconds */</span>
|
|
1903
|
+
<span class="cstat-no" title="statement not covered" > avgSearchTime: number;</span>
|
|
1904
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
1905
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1906
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
1907
|
+
<span class="cstat-no" title="statement not covered" > * Health check result</span>
|
|
1908
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1909
|
+
<span class="cstat-no" title="statement not covered" >export interface HealthCheckResult {</span>
|
|
1910
|
+
<span class="cstat-no" title="statement not covered" > /** Overall health status */</span>
|
|
1911
|
+
<span class="cstat-no" title="statement not covered" > status: 'healthy' | 'degraded' | 'unhealthy';</span>
|
|
1912
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1913
|
+
<span class="cstat-no" title="statement not covered" > /** Individual component health */</span>
|
|
1914
|
+
<span class="cstat-no" title="statement not covered" > components: {</span>
|
|
1915
|
+
<span class="cstat-no" title="statement not covered" > storage: ComponentHealth;</span>
|
|
1916
|
+
<span class="cstat-no" title="statement not covered" > index: ComponentHealth;</span>
|
|
1917
|
+
<span class="cstat-no" title="statement not covered" > cache: ComponentHealth;</span>
|
|
1918
|
+
<span class="cstat-no" title="statement not covered" > };</span>
|
|
1919
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1920
|
+
<span class="cstat-no" title="statement not covered" > /** Health check timestamp */</span>
|
|
1921
|
+
<span class="cstat-no" title="statement not covered" > timestamp: number;</span>
|
|
1922
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1923
|
+
<span class="cstat-no" title="statement not covered" > /** Any issues detected */</span>
|
|
1924
|
+
<span class="cstat-no" title="statement not covered" > issues: string[];</span>
|
|
1925
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1926
|
+
<span class="cstat-no" title="statement not covered" > /** Recommendations for improvement */</span>
|
|
1927
|
+
<span class="cstat-no" title="statement not covered" > recommendations: string[];</span>
|
|
1928
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
1929
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1930
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
1931
|
+
<span class="cstat-no" title="statement not covered" > * Individual component health status</span>
|
|
1932
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1933
|
+
<span class="cstat-no" title="statement not covered" >export interface ComponentHealth {</span>
|
|
1934
|
+
<span class="cstat-no" title="statement not covered" > status: 'healthy' | 'degraded' | 'unhealthy';</span>
|
|
1935
|
+
<span class="cstat-no" title="statement not covered" > latency: number;</span>
|
|
1936
|
+
<span class="cstat-no" title="statement not covered" > message?: string;</span>
|
|
1937
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
1938
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1939
|
+
<span class="cstat-no" title="statement not covered" >// ===== Cache Types =====</span>
|
|
1940
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1941
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
1942
|
+
<span class="cstat-no" title="statement not covered" > * Cache configuration</span>
|
|
1943
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1944
|
+
<span class="cstat-no" title="statement not covered" >export interface CacheConfig {</span>
|
|
1945
|
+
<span class="cstat-no" title="statement not covered" > /** Maximum number of entries in the cache */</span>
|
|
1946
|
+
<span class="cstat-no" title="statement not covered" > maxSize: number;</span>
|
|
1947
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1948
|
+
<span class="cstat-no" title="statement not covered" > /** Default TTL in milliseconds */</span>
|
|
1949
|
+
<span class="cstat-no" title="statement not covered" > ttl: number;</span>
|
|
1950
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1951
|
+
<span class="cstat-no" title="statement not covered" > /** Enable LRU eviction */</span>
|
|
1952
|
+
<span class="cstat-no" title="statement not covered" > lruEnabled: boolean;</span>
|
|
1953
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1954
|
+
<span class="cstat-no" title="statement not covered" > /** Maximum memory usage in bytes */</span>
|
|
1955
|
+
<span class="cstat-no" title="statement not covered" > maxMemory?: number;</span>
|
|
1956
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1957
|
+
<span class="cstat-no" title="statement not covered" > /** Enable write-through caching */</span>
|
|
1958
|
+
<span class="cstat-no" title="statement not covered" > writeThrough: boolean;</span>
|
|
1959
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
1960
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1961
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
1962
|
+
<span class="cstat-no" title="statement not covered" > * Cache statistics</span>
|
|
1963
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1964
|
+
<span class="cstat-no" title="statement not covered" >export interface CacheStats {</span>
|
|
1965
|
+
<span class="cstat-no" title="statement not covered" > /** Number of entries in cache */</span>
|
|
1966
|
+
<span class="cstat-no" title="statement not covered" > size: number;</span>
|
|
1967
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1968
|
+
<span class="cstat-no" title="statement not covered" > /** Cache hit rate (0-1) */</span>
|
|
1969
|
+
<span class="cstat-no" title="statement not covered" > hitRate: number;</span>
|
|
1970
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1971
|
+
<span class="cstat-no" title="statement not covered" > /** Total cache hits */</span>
|
|
1972
|
+
<span class="cstat-no" title="statement not covered" > hits: number;</span>
|
|
1973
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1974
|
+
<span class="cstat-no" title="statement not covered" > /** Total cache misses */</span>
|
|
1975
|
+
<span class="cstat-no" title="statement not covered" > misses: number;</span>
|
|
1976
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1977
|
+
<span class="cstat-no" title="statement not covered" > /** Total evictions */</span>
|
|
1978
|
+
<span class="cstat-no" title="statement not covered" > evictions: number;</span>
|
|
1979
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1980
|
+
<span class="cstat-no" title="statement not covered" > /** Memory usage in bytes */</span>
|
|
1981
|
+
<span class="cstat-no" title="statement not covered" > memoryUsage: number;</span>
|
|
1982
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
1983
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1984
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
1985
|
+
<span class="cstat-no" title="statement not covered" > * Cached entry wrapper</span>
|
|
1986
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1987
|
+
<span class="cstat-no" title="statement not covered" >export interface CachedEntry<T> {</span>
|
|
1988
|
+
<span class="cstat-no" title="statement not covered" > /** The cached data */</span>
|
|
1989
|
+
<span class="cstat-no" title="statement not covered" > data: T;</span>
|
|
1990
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1991
|
+
<span class="cstat-no" title="statement not covered" > /** When the entry was cached */</span>
|
|
1992
|
+
<span class="cstat-no" title="statement not covered" > cachedAt: number;</span>
|
|
1993
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1994
|
+
<span class="cstat-no" title="statement not covered" > /** When the entry expires */</span>
|
|
1995
|
+
<span class="cstat-no" title="statement not covered" > expiresAt: number;</span>
|
|
1996
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1997
|
+
<span class="cstat-no" title="statement not covered" > /** Last access timestamp */</span>
|
|
1998
|
+
<span class="cstat-no" title="statement not covered" > lastAccessedAt: number;</span>
|
|
1999
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2000
|
+
<span class="cstat-no" title="statement not covered" > /** Access count */</span>
|
|
2001
|
+
<span class="cstat-no" title="statement not covered" > accessCount: number;</span>
|
|
2002
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
2003
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2004
|
+
<span class="cstat-no" title="statement not covered" >// ===== Migration Types =====</span>
|
|
2005
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2006
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
2007
|
+
<span class="cstat-no" title="statement not covered" > * Migration source type</span>
|
|
2008
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
2009
|
+
<span class="cstat-no" title="statement not covered" >export type MigrationSource =</span>
|
|
2010
|
+
<span class="cstat-no" title="statement not covered" > | 'sqlite'</span>
|
|
2011
|
+
<span class="cstat-no" title="statement not covered" > | 'markdown'</span>
|
|
2012
|
+
<span class="cstat-no" title="statement not covered" > | 'json'</span>
|
|
2013
|
+
<span class="cstat-no" title="statement not covered" > | 'memory-manager'</span>
|
|
2014
|
+
<span class="cstat-no" title="statement not covered" > | 'swarm-memory'</span>
|
|
2015
|
+
<span class="cstat-no" title="statement not covered" > | 'distributed-memory';</span>
|
|
2016
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2017
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
2018
|
+
<span class="cstat-no" title="statement not covered" > * Migration configuration</span>
|
|
2019
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
2020
|
+
<span class="cstat-no" title="statement not covered" >export interface MigrationConfig {</span>
|
|
2021
|
+
<span class="cstat-no" title="statement not covered" > /** Source backend type */</span>
|
|
2022
|
+
<span class="cstat-no" title="statement not covered" > source: MigrationSource;</span>
|
|
2023
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2024
|
+
<span class="cstat-no" title="statement not covered" > /** Source path or connection string */</span>
|
|
2025
|
+
<span class="cstat-no" title="statement not covered" > sourcePath: string;</span>
|
|
2026
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2027
|
+
<span class="cstat-no" title="statement not covered" > /** Batch size for migration */</span>
|
|
2028
|
+
<span class="cstat-no" title="statement not covered" > batchSize: number;</span>
|
|
2029
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2030
|
+
<span class="cstat-no" title="statement not covered" > /** Generate embeddings during migration */</span>
|
|
2031
|
+
<span class="cstat-no" title="statement not covered" > generateEmbeddings: boolean;</span>
|
|
2032
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2033
|
+
<span class="cstat-no" title="statement not covered" > /** Validate data during migration */</span>
|
|
2034
|
+
<span class="cstat-no" title="statement not covered" > validateData: boolean;</span>
|
|
2035
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2036
|
+
<span class="cstat-no" title="statement not covered" > /** Continue on error */</span>
|
|
2037
|
+
<span class="cstat-no" title="statement not covered" > continueOnError: boolean;</span>
|
|
2038
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2039
|
+
<span class="cstat-no" title="statement not covered" > /** Namespace mapping */</span>
|
|
2040
|
+
<span class="cstat-no" title="statement not covered" > namespaceMapping?: Record<string, string>;</span>
|
|
2041
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2042
|
+
<span class="cstat-no" title="statement not covered" > /** Type mapping */</span>
|
|
2043
|
+
<span class="cstat-no" title="statement not covered" > typeMapping?: Record<string, MemoryType>;</span>
|
|
2044
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
2045
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2046
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
2047
|
+
<span class="cstat-no" title="statement not covered" > * Migration progress</span>
|
|
2048
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
2049
|
+
<span class="cstat-no" title="statement not covered" >export interface MigrationProgress {</span>
|
|
2050
|
+
<span class="cstat-no" title="statement not covered" > /** Total entries to migrate */</span>
|
|
2051
|
+
<span class="cstat-no" title="statement not covered" > total: number;</span>
|
|
2052
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2053
|
+
<span class="cstat-no" title="statement not covered" > /** Entries migrated so far */</span>
|
|
2054
|
+
<span class="cstat-no" title="statement not covered" > migrated: number;</span>
|
|
2055
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2056
|
+
<span class="cstat-no" title="statement not covered" > /** Entries failed */</span>
|
|
2057
|
+
<span class="cstat-no" title="statement not covered" > failed: number;</span>
|
|
2058
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2059
|
+
<span class="cstat-no" title="statement not covered" > /** Entries skipped */</span>
|
|
2060
|
+
<span class="cstat-no" title="statement not covered" > skipped: number;</span>
|
|
2061
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2062
|
+
<span class="cstat-no" title="statement not covered" > /** Current batch number */</span>
|
|
2063
|
+
<span class="cstat-no" title="statement not covered" > currentBatch: number;</span>
|
|
2064
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2065
|
+
<span class="cstat-no" title="statement not covered" > /** Total batches */</span>
|
|
2066
|
+
<span class="cstat-no" title="statement not covered" > totalBatches: number;</span>
|
|
2067
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2068
|
+
<span class="cstat-no" title="statement not covered" > /** Progress percentage (0-100) */</span>
|
|
2069
|
+
<span class="cstat-no" title="statement not covered" > percentage: number;</span>
|
|
2070
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2071
|
+
<span class="cstat-no" title="statement not covered" > /** Estimated time remaining in milliseconds */</span>
|
|
2072
|
+
<span class="cstat-no" title="statement not covered" > estimatedTimeRemaining: number;</span>
|
|
2073
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2074
|
+
<span class="cstat-no" title="statement not covered" > /** Errors encountered */</span>
|
|
2075
|
+
<span class="cstat-no" title="statement not covered" > errors: MigrationError[];</span>
|
|
2076
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
2077
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2078
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
2079
|
+
<span class="cstat-no" title="statement not covered" > * Migration error</span>
|
|
2080
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
2081
|
+
<span class="cstat-no" title="statement not covered" >export interface MigrationError {</span>
|
|
2082
|
+
<span class="cstat-no" title="statement not covered" > /** Entry ID or key that failed */</span>
|
|
2083
|
+
<span class="cstat-no" title="statement not covered" > entryId: string;</span>
|
|
2084
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2085
|
+
<span class="cstat-no" title="statement not covered" > /** Error message */</span>
|
|
2086
|
+
<span class="cstat-no" title="statement not covered" > message: string;</span>
|
|
2087
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2088
|
+
<span class="cstat-no" title="statement not covered" > /** Error code */</span>
|
|
2089
|
+
<span class="cstat-no" title="statement not covered" > code: string;</span>
|
|
2090
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2091
|
+
<span class="cstat-no" title="statement not covered" > /** Whether the error is recoverable */</span>
|
|
2092
|
+
<span class="cstat-no" title="statement not covered" > recoverable: boolean;</span>
|
|
2093
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
2094
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2095
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
2096
|
+
<span class="cstat-no" title="statement not covered" > * Migration result</span>
|
|
2097
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
2098
|
+
<span class="cstat-no" title="statement not covered" >export interface MigrationResult {</span>
|
|
2099
|
+
<span class="cstat-no" title="statement not covered" > /** Whether migration completed successfully */</span>
|
|
2100
|
+
<span class="cstat-no" title="statement not covered" > success: boolean;</span>
|
|
2101
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2102
|
+
<span class="cstat-no" title="statement not covered" > /** Final progress state */</span>
|
|
2103
|
+
<span class="cstat-no" title="statement not covered" > progress: MigrationProgress;</span>
|
|
2104
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2105
|
+
<span class="cstat-no" title="statement not covered" > /** Total time taken in milliseconds */</span>
|
|
2106
|
+
<span class="cstat-no" title="statement not covered" > duration: number;</span>
|
|
2107
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2108
|
+
<span class="cstat-no" title="statement not covered" > /** Summary message */</span>
|
|
2109
|
+
<span class="cstat-no" title="statement not covered" > summary: string;</span>
|
|
2110
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
2111
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2112
|
+
<span class="cstat-no" title="statement not covered" >// ===== Event Types =====</span>
|
|
2113
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2114
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
2115
|
+
<span class="cstat-no" title="statement not covered" > * Memory event types</span>
|
|
2116
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
2117
|
+
<span class="cstat-no" title="statement not covered" >export type MemoryEventType =</span>
|
|
2118
|
+
<span class="cstat-no" title="statement not covered" > | 'entry:created'</span>
|
|
2119
|
+
<span class="cstat-no" title="statement not covered" > | 'entry:updated'</span>
|
|
2120
|
+
<span class="cstat-no" title="statement not covered" > | 'entry:deleted'</span>
|
|
2121
|
+
<span class="cstat-no" title="statement not covered" > | 'entry:accessed'</span>
|
|
2122
|
+
<span class="cstat-no" title="statement not covered" > | 'entry:expired'</span>
|
|
2123
|
+
<span class="cstat-no" title="statement not covered" > | 'cache:hit'</span>
|
|
2124
|
+
<span class="cstat-no" title="statement not covered" > | 'cache:miss'</span>
|
|
2125
|
+
<span class="cstat-no" title="statement not covered" > | 'cache:eviction'</span>
|
|
2126
|
+
<span class="cstat-no" title="statement not covered" > | 'index:rebuilt'</span>
|
|
2127
|
+
<span class="cstat-no" title="statement not covered" > | 'migration:started'</span>
|
|
2128
|
+
<span class="cstat-no" title="statement not covered" > | 'migration:progress'</span>
|
|
2129
|
+
<span class="cstat-no" title="statement not covered" > | 'migration:completed'</span>
|
|
2130
|
+
<span class="cstat-no" title="statement not covered" > | 'migration:failed';</span>
|
|
2131
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2132
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
2133
|
+
<span class="cstat-no" title="statement not covered" > * Memory event payload</span>
|
|
2134
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
2135
|
+
<span class="cstat-no" title="statement not covered" >export interface MemoryEvent {</span>
|
|
2136
|
+
<span class="cstat-no" title="statement not covered" > type: MemoryEventType;</span>
|
|
2137
|
+
<span class="cstat-no" title="statement not covered" > timestamp: number;</span>
|
|
2138
|
+
<span class="cstat-no" title="statement not covered" > data: Record<string, unknown>;</span>
|
|
2139
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
2140
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2141
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
2142
|
+
<span class="cstat-no" title="statement not covered" > * Memory event handler</span>
|
|
2143
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
2144
|
+
<span class="cstat-no" title="statement not covered" >export type MemoryEventHandler = (event: MemoryEvent) => void | Promise<void>;</span>
|
|
2145
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2146
|
+
<span class="cstat-no" title="statement not covered" >// ===== SONA Integration Types =====</span>
|
|
2147
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2148
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
2149
|
+
<span class="cstat-no" title="statement not covered" > * SONA learning mode for adaptive memory</span>
|
|
2150
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
2151
|
+
<span class="cstat-no" title="statement not covered" >export type SONAMode =</span>
|
|
2152
|
+
<span class="cstat-no" title="statement not covered" > | 'real-time' // <0.05ms adaptation</span>
|
|
2153
|
+
<span class="cstat-no" title="statement not covered" > | 'balanced' // Balance between speed and accuracy</span>
|
|
2154
|
+
<span class="cstat-no" title="statement not covered" > | 'research' // Maximum accuracy, slower</span>
|
|
2155
|
+
<span class="cstat-no" title="statement not covered" > | 'edge' // Optimized for edge devices</span>
|
|
2156
|
+
<span class="cstat-no" title="statement not covered" > | 'batch'; // Batch processing mode</span>
|
|
2157
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2158
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
2159
|
+
<span class="cstat-no" title="statement not covered" > * Learning pattern from SONA integration</span>
|
|
2160
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
2161
|
+
<span class="cstat-no" title="statement not covered" >export interface LearningPattern {</span>
|
|
2162
|
+
<span class="cstat-no" title="statement not covered" > /** Pattern ID */</span>
|
|
2163
|
+
<span class="cstat-no" title="statement not covered" > id: string;</span>
|
|
2164
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2165
|
+
<span class="cstat-no" title="statement not covered" > /** Pattern data */</span>
|
|
2166
|
+
<span class="cstat-no" title="statement not covered" > data: Record<string, unknown>;</span>
|
|
2167
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2168
|
+
<span class="cstat-no" title="statement not covered" > /** SONA mode used */</span>
|
|
2169
|
+
<span class="cstat-no" title="statement not covered" > mode: SONAMode;</span>
|
|
2170
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2171
|
+
<span class="cstat-no" title="statement not covered" > /** Reward signal */</span>
|
|
2172
|
+
<span class="cstat-no" title="statement not covered" > reward: number;</span>
|
|
2173
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2174
|
+
<span class="cstat-no" title="statement not covered" > /** Trajectory data */</span>
|
|
2175
|
+
<span class="cstat-no" title="statement not covered" > trajectory: unknown[];</span>
|
|
2176
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2177
|
+
<span class="cstat-no" title="statement not covered" > /** Adaptation time in milliseconds */</span>
|
|
2178
|
+
<span class="cstat-no" title="statement not covered" > adaptationTime: number;</span>
|
|
2179
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2180
|
+
<span class="cstat-no" title="statement not covered" > /** Creation timestamp */</span>
|
|
2181
|
+
<span class="cstat-no" title="statement not covered" > createdAt: number;</span>
|
|
2182
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
2183
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2184
|
+
<span class="cstat-no" title="statement not covered" >// ===== Utility Types =====</span>
|
|
2185
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2186
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
2187
|
+
<span class="cstat-no" title="statement not covered" > * Embedding generator function type</span>
|
|
2188
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
2189
|
+
<span class="cstat-no" title="statement not covered" >export type EmbeddingGenerator = (content: string) => Promise<Float32Array>;</span>
|
|
2190
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2191
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
2192
|
+
<span class="cstat-no" title="statement not covered" > * Generates a unique memory ID</span>
|
|
2193
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
2194
|
+
<span class="cstat-no" title="statement not covered" >export function generateMemoryId(): string {</span>
|
|
2195
|
+
<span class="cstat-no" title="statement not covered" > const timestamp = Date.now().toString(36);</span>
|
|
2196
|
+
<span class="cstat-no" title="statement not covered" > const random = Math.random().toString(36).substring(2, 10);</span>
|
|
2197
|
+
<span class="cstat-no" title="statement not covered" > return `mem_${timestamp}_${random}`;</span>
|
|
2198
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
2199
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2200
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
2201
|
+
<span class="cstat-no" title="statement not covered" > * Creates a default memory entry</span>
|
|
2202
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
2203
|
+
<span class="cstat-no" title="statement not covered" >export function createDefaultEntry(input: MemoryEntryInput): MemoryEntry {</span>
|
|
2204
|
+
<span class="cstat-no" title="statement not covered" > const now = Date.now();</span>
|
|
2205
|
+
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
2206
|
+
<span class="cstat-no" title="statement not covered" > id: generateMemoryId(),</span>
|
|
2207
|
+
<span class="cstat-no" title="statement not covered" > key: input.key,</span>
|
|
2208
|
+
<span class="cstat-no" title="statement not covered" > content: input.content,</span>
|
|
2209
|
+
<span class="cstat-no" title="statement not covered" > type: input.type || 'semantic',</span>
|
|
2210
|
+
<span class="cstat-no" title="statement not covered" > namespace: input.namespace || 'default',</span>
|
|
2211
|
+
<span class="cstat-no" title="statement not covered" > tags: input.tags || [],</span>
|
|
2212
|
+
<span class="cstat-no" title="statement not covered" > metadata: input.metadata || {},</span>
|
|
2213
|
+
<span class="cstat-no" title="statement not covered" > ownerId: input.ownerId,</span>
|
|
2214
|
+
<span class="cstat-no" title="statement not covered" > accessLevel: input.accessLevel || 'private',</span>
|
|
2215
|
+
<span class="cstat-no" title="statement not covered" > createdAt: now,</span>
|
|
2216
|
+
<span class="cstat-no" title="statement not covered" > updatedAt: now,</span>
|
|
2217
|
+
<span class="cstat-no" title="statement not covered" > expiresAt: input.expiresAt,</span>
|
|
2218
|
+
<span class="cstat-no" title="statement not covered" > version: 1,</span>
|
|
2219
|
+
<span class="cstat-no" title="statement not covered" > references: input.references || [],</span>
|
|
2220
|
+
<span class="cstat-no" title="statement not covered" > accessCount: 0,</span>
|
|
2221
|
+
<span class="cstat-no" title="statement not covered" > lastAccessedAt: now,</span>
|
|
2222
|
+
<span class="cstat-no" title="statement not covered" > };</span>
|
|
2223
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
2224
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2225
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
2226
|
+
<span class="cstat-no" title="statement not covered" > * Performance targets for V3 memory system</span>
|
|
2227
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
2228
|
+
<span class="cstat-no" title="statement not covered" >export const PERFORMANCE_TARGETS = {</span>
|
|
2229
|
+
<span class="cstat-no" title="statement not covered" > /** Maximum vector search time for 100k vectors */</span>
|
|
2230
|
+
<span class="cstat-no" title="statement not covered" > MAX_SEARCH_TIME_100K: 1, // ms</span>
|
|
2231
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2232
|
+
<span class="cstat-no" title="statement not covered" > /** Maximum write time per entry */</span>
|
|
2233
|
+
<span class="cstat-no" title="statement not covered" > MAX_WRITE_TIME: 5, // ms</span>
|
|
2234
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2235
|
+
<span class="cstat-no" title="statement not covered" > /** Maximum batch insert time per entry */</span>
|
|
2236
|
+
<span class="cstat-no" title="statement not covered" > MAX_BATCH_INSERT_TIME: 1, // ms</span>
|
|
2237
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2238
|
+
<span class="cstat-no" title="statement not covered" > /** Target memory reduction from legacy systems */</span>
|
|
2239
|
+
<span class="cstat-no" title="statement not covered" > MEMORY_REDUCTION_TARGET: 0.5, // 50%</span>
|
|
2240
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2241
|
+
<span class="cstat-no" title="statement not covered" > /** Minimum search improvement over brute force */</span>
|
|
2242
|
+
<span class="cstat-no" title="statement not covered" > MIN_SEARCH_IMPROVEMENT: 150, // 150x</span>
|
|
2243
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2244
|
+
<span class="cstat-no" title="statement not covered" > /** Maximum search improvement over brute force */</span>
|
|
2245
|
+
<span class="cstat-no" title="statement not covered" > MAX_SEARCH_IMPROVEMENT: 12500, // 12,500x</span>
|
|
2246
|
+
<span class="cstat-no" title="statement not covered" >} as const;</span>
|
|
2247
|
+
</pre></td></tr></table></pre>
|
|
2248
|
+
|
|
2249
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
2250
|
+
</div><!-- /wrapper -->
|
|
2251
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
2252
|
+
Code coverage generated by
|
|
2253
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
2254
|
+
at 2026-01-05T21:16:54.220Z
|
|
2255
|
+
</div>
|
|
2256
|
+
<script src="../prettify.js"></script>
|
|
2257
|
+
<script>
|
|
2258
|
+
window.onload = function () {
|
|
2259
|
+
prettyPrint();
|
|
2260
|
+
};
|
|
2261
|
+
</script>
|
|
2262
|
+
<script src="../sorter.js"></script>
|
|
2263
|
+
<script src="../block-navigation.js"></script>
|
|
2264
|
+
</body>
|
|
2265
|
+
</html>
|
|
2266
|
+
|